|
|
@ -5,15 +5,21 @@ RUN /bin/sh -c 'echo Dockerfile设置VOLUME > demo.data'
|
|
|
|
WORKDIR /App/Logs/
|
|
|
|
WORKDIR /App/Logs/
|
|
|
|
RUN /bin/sh -c 'echo 我是日志内容 > demo.log'
|
|
|
|
RUN /bin/sh -c 'echo 我是日志内容 > demo.log'
|
|
|
|
|
|
|
|
|
|
|
|
# VOLUME设置放在文件操作之后,这样容器启动之后,数据卷里就有文件;这样可以设置数据卷中的默认文件。
|
|
|
|
# VOLUME设置放在文件操作之后,这样容器启动之后,数据卷里就有文件;可以设置数据卷中的默认文件。
|
|
|
|
VOLUME ["/App/Datas/","/App/Logs/"]
|
|
|
|
VOLUME ["/App/Datas/","/App/Logs/"]
|
|
|
|
WORKDIR /App
|
|
|
|
WORKDIR /App
|
|
|
|
|
|
|
|
|
|
|
|
# docker build -f Dockerfile.VOLUME -t study.dockerfile.volume:latest -t study.dockerfile.volume:0.0.1 .
|
|
|
|
# docker build -f Dockerfile.VOLUME -t study.dockerfile.volume:latest -t study.dockerfile.volume:0.0.1 .
|
|
|
|
|
|
|
|
# docker run -it study.dockerfile.volume
|
|
|
|
# docker run --rm -it study.dockerfile.volume
|
|
|
|
# docker run --rm -it study.dockerfile.volume
|
|
|
|
# 启动容器加 --rm 参数时,导致容器退出时 VOLUME 数据卷也自动删除;手动删除的保留数据卷。
|
|
|
|
# 启动容器加 --rm 参数时,导致容器退出时 VOLUME 数据卷也自动删除;手动删除的保留数据卷。
|
|
|
|
|
|
|
|
|
|
|
|
# 查看VOLUEM 方法一:docker inspect container_id 方法二:docker voluem ls
|
|
|
|
# 查看VOLUEM 方法一:docker inspect container_id 方法二:docker voluem ls
|
|
|
|
|
|
|
|
|
|
|
|
# 可以使用 Docker run -v 覆盖
|
|
|
|
# 可以使用 Docker run -v 覆盖
|
|
|
|
|
|
|
|
# linux
|
|
|
|
# docker run --rm -it -v \Data1:/App/Datas study.dockerfile.volume
|
|
|
|
# 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下,数据卷中默认文件被保留了。
|