因此,当运行容器的命令时,我可以使用命令
创建我想要的主机卷装载docker run -d -P --name web -v /home/ec2-user:/home/ec2-user testing123
如何将/src/webapp:/opt/webapp
主机目录转换为Dockerfile内的参数?我可以使用VOLUME
创建此类存储吗?
我问的原因是当我尝试使用参数
添加它时VOLUME ["/home/ec2-user/:/home/ec2-user/" ]
它创建容器内的目录,除了:之外没有文件。我如何构造这个参数来使用它?
答案 0 :(得分:3)
您无法执行您想要执行的操作,因为主机目录依赖于您的主机和Dockerfile,因此您的映像必须不依赖于您的主机。只需“公开”一个卷并使用docker run
将主机目录映射到该卷。
主机目录本质上是依赖于主机的。为此原因, 您无法从Dockerfile挂载主机目录,因为已构建映像 应该是便携式的。主机目录根本不可用 潜在的主持人。
答案 1 :(得分:1)
请记住,较新版本的Docker不再使用-v /host/path:/container/path
在主机中创建目录。这被认为是一种反模式,并且已被弃用。您应该使用不同的工具管理主机文件系统,以便为您提供更好的保证。