我是Docker的新手,试图检查如何在Docker容器中进行更改并将其提交以反映结果。我在Docker-CE上运行了AWX,并在awx_web
容器中进行了更改,以更新Ansible Tower文档中提到的UI徽标:
docker cp custom_console_logo.png aea2551951d5:/var/lib/awx/public/static/assets
使用以下命令,然后使用bash命令创建并保存文件,并在local_settings.json
中创建/var/lib/awx/public/static/
到正在运行的awx_web容器之一中:
docker exec -it aea2551951d5 bash
发布此信息后,我已经提交了更改,以便使用以下命令将更改永久反映在图像文件和UI中:
docker commit aea2551951d5 ansible/awx_web
我已经验证了容器文件中的更改,但似乎还不错,但是当我在浏览器中验证更改时,更改未得到反映。似乎现有容器指向旧的图像文件:
CONTAINER ID IMAGE
aea2551951d5 b7c261b76010
我不确定错过了什么。有人可以建议我是否错过了任何事情,如何解决呢?
以下是容器:
[root@localhost~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
80ab6bf562a9 ansible/awx_task:latest "/tini -- /bin/sh -c…" 13 days ago Up 3 days 8052/tcp awx_task
aea2551951d5 b7c261b76010 "/tini -- /bin/sh -c…" 13 days ago Up 3 hours 0.0.0.0:80->8052/tcp awx_web
e789a4a82a9e memcached:alpine "docker-entrypoint.s…" 13 days ago Up 3 days 11211/tcp memcached
a8c74584255c ansible/awx_rabbitmq:3.7.4 "docker-entrypoint.s…" 13 days ago Up 3 days 4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp rabbitmq
25f6f6ca7766 postgres:9.6 "docker-entrypoint.s…" 13 days ago Up 3 days 5432/tcp postgres
以下是图像:
[root@localhost~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ansible/awx_web latest 1accc59cbdee 2 hours ago 1.06GB
b7c261b76010 latest 998ec3e77fd8 3 hours ago 1.06GB
postgres 9.6 106bdfb062df 6 weeks ago 235MB
ansible/awx_task latest 535bb2b8e1f3 6 weeks ago 1.07GB
ansible/awx_web <none> b7c261b76010 6 weeks ago 1.04GB
hello-world latest 2cb0d9787c4d 2 months ago 1.85kB
memcached alpine b40e8fa7e3e5 2 months ago 8.69MB
ansible/awx_rabbitmq 3.7.4 e08fe791079e 5 months ago 85.6MB
[root@clab2726vw0001 ~]#
环境信息:
Docker Version: 18.06.0-ce, build 0ffa825
AWX Version: 1.0.6.41
Ansible Version: 2.6.1
RHEL Version: Red Hat Enterprise Linux Server release 7.5 (Maipo)
答案 0 :(得分:1)
容器是图像的运行实例,容器ID对于特定图像是唯一的。
我们不能使用相同的12位容器ID作为其他图像的参考。当我们使用“提交”时,它将为新图像创建一个新的新容器。
此新容器将包含所有需要的更改。
您可以尝试命名容器。
现在,您具有与以前使用的容器名称相同的名称,但是具有新的Image。