在Dockerfile中将主机目录创build为数据卷
所以当运行容器的命令时,我可以用命令创build我想要的主机卷装载
docker run -d -P --name web -v /home/ec2-user:/home/ec2-user testing123
如何将/src/webapp:/opt/webapp
主目录转换为Dockerfile中的参数? 我可以用VOLUME
创build这种types的存储吗?
我所问的原因是,当我试图添加它的参数
VOLUME ["/home/ec2-user/:/home/ec2-user/" ]
它会在容器内创build一个没有文件的目录,除了:。 我将如何构build这个论点来处理它呢?
你不能做你想做的,因为主机目录是依赖于你的主机和你的Dockerfile,因此你的图像不能依赖于你的主机。 只需“公开”一个卷,然后使用docker run
将主机目录映射到该卷。
来自Docker文档的注意事项 :
主机目录本质上取决于主机。 因为这个原因,你不能从Dockerfile挂载主机目录,因为build立的映像应该是可移植的。 主机目录在所有可能的主机上都不可用。
请记住,更新版本的Docker,不会再使用-v /host/path:/container/path
在主机上创build目录。 这被认为是反模式,并被弃用。 您应该使用不同的工具pipe理您的主机文件系统,为您提供更好的保证。