三十、Docker存储-数据持久化之Bind Mount

  • data volume的缺陷:在Windows环境的docker中,无法查看volume所在的文件路径
  • 使用bind mount就能在Windows本地打开volume所在目录
    使用的Dockerfile:
FROM alpine:latest
RUN apk update
RUN apk --no-cache add curl
ENV SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.1.12/supercronic-linux-amd64 \
    SUPERCRONIC=supercronic-linux-amd64 \
    SUPERCRONIC_SHA1SUM=048b95b48b708983effb2e5c935a1ef8483d9e3e
RUN curl -fsSLO "$SUPERCRONIC_URL" \
    && echo "${SUPERCRONIC_SHA1SUM}  ${SUPERCRONIC}" | sha1sum -c - \
    && chmod +x "$SUPERCRONIC" \
    && mv "$SUPERCRONIC" "/usr/local/bin/${SUPERCRONIC}" \
    && ln -s "/usr/local/bin/${SUPERCRONIC}" /usr/local/bin/supercronic
COPY my-cron /app/my-cron
WORKDIR /app

VOLUME ["/app"]

# RUN cron job
CMD ["/usr/local/bin/supercronic", "/app/my-cron"]

Bind Mount使用

在构建容器加上 -v 参数时,映射的路径改为自定义路径即可:

  • Windows环境:docker run -d -v ${pwd}:/app my-cron,花括号中代表当前路径,也可自定义
  • 在Mac和Linux环境:docker run -d -v $(pwd):/app my-cron,括号中代表当前路径

Note:
Windows环境需要先把目标路径在Docker Desktop中添加到设置里面


image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容