基于当前运行的容器运行新容器

时间:2017-04-12 13:05:02

标签: docker

我可以通过运行

来运行容器

docker run --name nginx-base -p 81:81 -d nginx

如何使用同一个容器,但在端口80中运行它并添加一个卷链接,如:

docker start nginx-base -p 80:80 -v mydomain:/etc/nginx/site-available/mydomain

3 个答案:

答案 0 :(得分:1)

不,您只能使用docker run来启动新容器。当然,还有另一个容器名称。

答案 1 :(得分:1)

您可以使用相同的图像在端口80上启动另一个容器,并使用这样的命令

docker run --name nginx83 -p 83:83 -d nginx

只要您为容器使用不同的端口和名称,就可以继续使用,例如

docker commit

考虑到无法更新图像(我们将忘记docker commit),但Dockerfile是重新创建更新/修改图像的方法,可帮助您轻松创建另一个图像。

docker build -t myuser/myproject:0.1 .的文档(如果需要)

https://docs.docker.com/engine/reference/commandline/commit/

您可以拥有一个引用Dockerfile,因此可以使用这样的命令构建映像

docker build -t myuser/mymodifiedproject:0.12 -f Dockerfile_mod1 .

和一个修改过的Dockerfile,比如Dockerfile_mod1,你使用这个Dockerfile构建另一个图像,并带有

等命令

{{1}}

但你应该有一个Dockerfile并根据需要经常重建一个修改过的图像。

答案 2 :(得分:0)

docker run --name nginx-base -p 80:80 -v mydomain:/etc/nginx/site-available/mydomain -d nginx