我想将主机系统的文件夹挂载到容器中,并且需要在Dockerfile中定义它,以便用户不需要通过在命令行中传递参数来手动执行它来运行容器。怎么做到这一点?
答案 0 :(得分:2)
这根本无法完成。 Docker镜像设计为可移植的。主机安装是特定于主机的。因此,如果您能够在构建时指定主机安装,则会使该映像在不具有此安装文件夹的计算机上不可移植。因此,这就是为什么这个选项不可用的原因。
您可以使用docker compose帮助用户不选择安装文件夹。看看How do I mount a host directory as a volume in docker compose
答案 1 :(得分:0)
Dockerfile
用于创建图像而不是容器。
您无法在volume
上定义image
。必须在创建容器时在执行时定义volume
。
docker run -v /host-folder:/root/containerfolder -i -t imagename