使用commit提交镜像 原创
如果想保存容器的当前状态,可以通过commit提交,获得一个镜像
可以理解为vmware的快照原理
先运行tomcat容器
[root@wq ~]# docker run -it -p 8017:8080 tomcat
新开终端
默认的tomcat镜像是没有webapps应用,拷贝进去基本文件到webapps
[root@wq ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1f43a2a3da09 tomcat "catalina.sh run" 22 seconds ago Up 21 seconds 0.0.0.0:8017->8080/tcp, :::8017->8080/tcp ecstatic_dewdney
0452805ef0cc portainer/portainer "/portainer" About an hour ago Up About an hour 0.0.0.0:8025->9000/tcp, :::8025->9000/tcp tender_kepler
7a350c2f01ff wordpress "docker-entrypoint.s…" 42 hours ago Up 42 hours 0.0.0.0:8007->80/tcp, :::8007->80/tcp my_wordpress
94239899c5bd mysql "docker-entrypoint.s…" 42 hours ago Up 42 hours 33060/tcp, 0.0.0.0:8006->3306/tcp, :::8006->3306/tcp my_mysql
[root@wq ~]# docker exec -it 1f43a2a3da09 /bin/bash
root@1f43a2a3da09:/usr/local/tomcat# cd webapps
root@1f43a2a3da09:/usr/local/tomcat/webapps# ls
root@1f43a2a3da09:/usr/local/tomcat/webapps# cd ..
root@1f43a2a3da09:/usr/local/tomcat# ls
BUILDING.txt LICENSE README.md RUNNING.txt conf logs temp webapps.dist
CONTRIBUTING.md NOTICE RELEASE-NOTES bin lib native-jni-lib webapps work
root@1f43a2a3da09:/usr/local/tomcat# cp -r webapps.dist/* webapps
root@1f43a2a3da09:/usr/local/tomcat# cd webapps
root@1f43a2a3da09:/usr/local/tomcat/webapps# ls
ROOT docs examples host-manager manager
浏览器访问,部署成功
退出容器
exit
将修改后的tomcat用commit提交为新的镜像,以后就可以直接使用修改后的镜像
tomcat02就是更改后的镜像
[root@wq ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1f43a2a3da09 tomcat "catalina.sh run" 9 minutes ago Up 9 minutes 0.0.0.0:8017->8080/ tcp, :::8017->8080/tcp ecstatic_dewdney
0452805ef0cc portainer/portainer "/portainer" 2 hours ago Up About an hour 0.0.0.0:8025->9000/ tcp, :::8025->9000/tcp tender_kepler
7a350c2f01ff wordpress "docker-entrypoint.s…" 42 hours ago Up 42 hours 0.0.0.0:8007->80/tc p, :::8007->80/tcp my_wordpress
94239899c5bd mysql "docker-entrypoint.s…" 42 hours ago Up 42 hours 33060/tcp, 0.0.0.0: 8006->3306/tcp, :::8006->3306/tcp my_mysql
[root@wq ~]# docker commit -a="wq" -m="add webapps app" 1f43a2a3da09 tomcat02:1.0
sha256:02ea20370fecf241eb1126ce9861749fddd14d622358348fc1fcfd2ff8ed9186
[root@wq ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat02 1.0 02ea20370fec 5 seconds ago 684MB
nginx latest 605c77e624dd 2 years ago 141MB
tomcat latest fb5657adc892 2 years ago 680MB
wordpress latest c3c92cc3dcb1 2 years ago 616MB
redis latest 7614ae9453d1 2 years ago 113MB
mysql latest 3218b38490ce 2 years ago 516MB
centos latest 5d0da3dc9764 2 years ago 231MB
portainer/portainer latest 580c0e4e98b0 2 years ago 79.1MB
elasticsearch 7.6.2 f29a1ee41030 3 years ago 791MB
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理