You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
1.2 KiB
Docker

3 years ago
# 注释: VOLUME 数据卷
FROM busybox
3 years ago
WORKDIR /App/Datas/
3 years ago
RUN /bin/sh -c 'echo Dockerfile设置VOLUME > demo.data'
3 years ago
WORKDIR /App/Logs/
3 years ago
RUN /bin/sh -c 'echo 我是日志内容 > demo.log'
3 years ago
3 years ago
# VOLUME设置放在文件操作之后这样容器启动之后数据卷里就有文件;可以设置数据卷中的默认文件。
3 years ago
VOLUME ["/App/Datas/","/App/Logs/"]
3 years ago
WORKDIR /App
# docker build -f Dockerfile.VOLUME -t study.dockerfile.volume:latest -t study.dockerfile.volume:0.0.1 .
3 years ago
# docker run -it study.dockerfile.volume
3 years ago
# docker run --rm -it study.dockerfile.volume
3 years ago
# 启动容器加 --rm 参数时,导致容器退出时 VOLUME 数据卷也自动删除;手动删除的保留数据卷。
3 years ago
# 查看VOLUEM 方法一docker inspect container_id 方法二docker voluem ls
# 可以使用 Docker run -v 覆盖
3 years ago
# linux
# docker run --rm -it -v \Data1:/App/Datas study.dockerfile.volume
# windows
# docker run --rm -it -v D:\Data1:/App/Datas study.dockerfile.volume
# 问题Docker Desktop for Windows下 Docker run -v 覆盖之后, 镜像中的数据卷原有的文件被清空了-默认存在的文件被清空了而Linux下数据卷中默认文件被保留了。