2017-04-12 81 views
0

我能够通过运行运行当前运行的容器

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

+1

你是指具有该参数或相同容器的新容器吗? – kstromeiraos

回答

1

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

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

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

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

考虑到的图像不能被更新(我们会忘记docker commit),但Dockerfile,重新更新/ modifie方式d图像,可帮助您轻松创建另一幅图像。

如果需要,DOC对docker commit

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

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

docker build -t myuser/myproject:0.1 .

和修改Dockerfile建立自己的形象,这样的作为Dockerfile_mod1,并且您使用此Dockerfile构建另一个映像,并使用诸如

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

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

+0

所以这是码头流程,这是我需要的,谢谢 –

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

不行,你只能使用docker run开始一个新的容器。当然,还有另一个容器名称。