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.

28 lines
1.3 KiB
Docker

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 注释: VOLUME 数据卷
FROM busybox
WORKDIR /App/Datas/
RUN /bin/sh -c 'echo Dockerfile设置VOLUME > demo.data'
WORKDIR /App/Logs/
RUN /bin/sh -c 'echo 我是日志内容 > demo.log'
# VOLUME设置放在文件操作之后这样容器启动之后数据卷里就有文件;可以设置数据卷中的默认文件。
VOLUME ["/App/Datas/","/App/Logs/"]
WORKDIR /App
# 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
# 启动容器加 --rm 参数时,导致容器退出时 VOLUME 数据卷也自动删除;手动删除的保留数据卷。
# 查看VOLUEM 方法一docker inspect container_id 方法二docker voluem ls
# 可以使用 Docker run -v 覆盖
# 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
# --volumes-from 从指定容器加载数据卷
# docker run --rm -it --volumes-from 容器列表 study.dockerfile.volume
# 问题Docker Desktop for Windows下 Docker run -v 指定Windows宿主机目录,覆盖之后, 镜像中的数据卷原有的文件被清空了-默认存在的文件被清空了而Linux下数据卷中默认文件被保留了。