我已经从ubuntu:latest
图片创建了一个容器。为此,我创建了这个docker-compose.yml
:
version: '2'
services:
test_port:
image: ubuntu:latest
container_name: test_port
tty: true
privileged: true
现在我用docker exec -it <test_port_id> bash
进入容器,然后我做了一些工作。突然我意识到我需要带有主机端口的绑定端口,所以我停止容器并将port
部分添加到docker-compose.yml
这样的部分:
version: '2'
services:
test_port:
image: ubuntu:latest
container_name: test_port
tty: true
privileged: true
ports:
- "12345:12345"
如果现在我再次运行docker-compose up
,Docker会重新创建容器test_port
,并为其提供一个新ID,这就是Docker创建一个新容器,我在test_port
中完成了所有工作。 。
我的问题是:有没有办法在docker-compose.yml
的现有容器中绑定端口(或进行一般更改),而无需重新创建容器但更改生效了?
编辑:无法从容器创建图像。原始问题有volume
部分用于时间同步(npt
),如果我从此图像构造一个新容器,则会因此而抛出错误。
提前致谢!
答案 0 :(得分:0)
您必须了解可以随时创建或删除容器。因此,如果您必须修改容器中的文件,则必须在构建期间(dockerfile)或使用卷注入它们。这是您可以坚持更改的方式。