Docker容器:应用打包、运行与数据共享全解析
1. Docker卷概述
若要在容器间或容器与主机间共享数据,可使用Docker卷。卷是独立于容器的存储单元,有独立生命周期,能独立创建并挂载到一个或多个容器中。在Dockerfile里,可使用 VOLUME 指令确保容器创建时带有卷存储。
1.1 卷的指定与映射
指定卷时需明确目标目录,即容器内卷呈现的位置。运行定义了卷的镜像容器时,卷会映射到主机上的物理位置,且同一镜像运行的多个容器,其卷会映射到不同的主机位置。
1.2 Windows系统下卷的注意事项
在Windows系统中,卷目录需为空,不能在Dockerfile里先创建文件再将目录设为卷。卷要定义在镜像存在的磁盘上,Windows基础镜像只有C盘可用,所以卷需创建在C盘。
以下是 dockeronwindows/ch02-volumes:2e 的Dockerfile示例:
# escape=`
FROM mcr.microsoft.com/windows/nanoserver:1809
VOLUME C:\app\config
VOLUME C:\app\logs
USER ContainerAdministrator
ENTRYPOINT cmd /S /C
由于Nano Server镜像默认使用低权限用户,无法访问卷,此Dockerfile切换到管理账户,运行容器时就能访问卷目录。
超级会员免费看
订阅专栏 解锁全文
1208

被折叠的 条评论
为什么被折叠?



