根据当前运行的容器运行一个新的容器

我可以运行一个容器

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

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

docker run --name nginx80 -p 80:80 -d nginx

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

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

考虑一个图像不能更新(我们会忘记docker commit ),但Dockerfile,重新创build更新/修改图像的方式,可以帮助您轻松地创build另一个图像。

如果需要, docker commit的文档

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

你可以有一个参考Dockerfile,所以你用这样的命令build立你的图像

docker build -t myuser/myproject:0.1 .

和一个修改的Dockerfile,比如Dockerfile_mod1,然后用这个Dockerfilebuild立另一个图像,

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

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

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

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