docker commit #提交容器成为一个新的副本
docker commit -m "提交信息" -a "作者" 容器id 目标镜像名,[tag]
实战测试:
#启动一个默认的tomcat
[root@xiaoxiao ~]# docker run -it -p 8080:8080 tomcat
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/openjdk-11
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
#发现这个默认的tomcat没有webapps应用,是因为官方的径向默认webapps没有文件
root@b95306fb6ece:/usr/local/tomcat/webapps# ls
#自己拷贝了基本的文件
root@b95306fb6ece:/usr/local/tomcat# cp -r webapps.dist/* webapps
root@b95306fb6ece:/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@b95306fb6ece:/usr/local/tomcat# cd w
webapps/ webapps.dist/ work/
root@b95306fb6ece:/usr/local/tomcat# cd webapps
root@b95306fb6ece:/usr/local/tomcat/webapps# ls
ROOT docs examples host-manager manager
#将这个修改后的容器通过commit提交为一个新的镜像
[root@xiaoxiao ~]# docker commit -a "xiaoxiao" -m "add webapps" 5f91e4da2c89 tomcat02:1.0
sha256:35df46745e4e6c6a0da33d2859716a782b10827333f2814d2e630a5c1280eda8
[root@xiaoxiao ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat02 1.0 35df46745e4e 8 seconds ago 648MB
nginx latest 4bb46517cac3 2 weeks ago 133MB
centos latest 0d120b6ccaa8 3 weeks ago 215MB
tomcat 9.0 2ae23eb477aa 3 weeks ago 647MB
tomcat latest 2ae23eb477aa 3 weeks ago 647MB
redis latest 1319b1eaa0b7 3 weeks ago 104MB
elasticsearch 7.6.2 f29a1ee41030 5 months ago 791MB
如果想保存当前容器的状态,可以通过commit提交,获得一个镜像,类似vm里面快照的概念
好了,今天先到这里了~