我是Docker的新手,并试图检查如何在docker容器中进行更改并提交它们以反映结果。我在Docker-CE上运行AWX,并在awx_web
容器中创建了更改以更新UI徽标,如Ansible Tower文档中所述:
docker cp custom_console_logo.png aea2551951d5:/var/lib/awx/public/static/assets
并使用以下命令在local_settings.json
中创建了运行awx_web容器之一的/var/lib/awx/public/static/
,然后使用bash命令创建并保存文件:
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)
容器是图像的运行实例,容器ID对于特定图像是唯一的。 我们不能使用相同的12位数容器ID作为其他图像的参考。当我们使用“commit”时,它会为新映像创建一个新的容器。
这个新容器将包含所需的所有更改。
您可以尝试命名容器。
现在你有了相同的容器名称(就像你之前使用的那样)但是有了新的Image。