- data volume的缺陷:在Windows环境的docker中,无法查看volume所在的文件路径
使用bind mount就能在Windows本地打开volume所在目录
使用的Dockerfile:FROM alpine:latestRUN apk updateRUN apk --no-cache add curlENV SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.1.12/supercronic-linux-amd64 \SUPERCRONIC=supercronic-linux-amd64 \SUPERCRONIC_SHA1SUM=048b95b48b708983effb2e5c935a1ef8483d9e3eRUN 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/supercronicCOPY my-cron /app/my-cronWORKDIR /appVOLUME ["/app"]# RUN cron jobCMD ["/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中添加到设置里面

