Commit镜像
docker commit 提交容器成为一个新的副本
# 命令和git原理相似
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
测试
# 启动一个默认的Tomcat
[root@iZbp1ce780a5j2zww8kl9hZ ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest fad0ee7e917a 3 days ago 105MB
nginx latest d1a364dc548d 11 days ago 133MB
tomcat latest c43a65faae57 3 weeks ago 667MB
portainer/portainer latest 580c0e4e98b0 2 months ago 79.1MB
centos latest 300e315adb2f 6 months ago 209MB
elasticsearch 7.6.2 f29a1ee41030 14 months ago 791MB
[root@iZbp1ce780a5j2zww8kl9hZ ~]# 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
Using CATALINA_OPTS:
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.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
06-Jun-2021 03:47:12.107 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/9.0.46
06-Jun-2021 03:47:12.112 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: May 8 2021 17:35:52 UTC
06-Jun-2021 03:47:12.112 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.46.0
06-Jun-2021 03:47:12.112 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
06-Jun-2021 03:47:12.112 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 3.10.0-1127.19.1.el7.x86_64
06-Jun-2021 03:47:12.112 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
06-Jun-2021 03:47:12.112 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/local/openjdk-11
06-Jun-2021 03:47:12.112 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 11.0.11+9
06-Jun-2021 03:47:12.112 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
06-Jun-2021 03:47:12.113 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/tomcat
06-Jun-2021 03:47:12.113 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/local/tomcat
···
# 发现这个默认的tomcat是没有webapps应用, 镜像的原因, 官方的镜像默认webapps 下面是没有文件的!
root@8ce5ffcca900:/usr/local/tomcat# cd webapps
root@8ce5ffcca900:/usr/local/tomcat/webapps# ls
# 自己拷贝进去基本的文件
root@8ce5ffcca900:/usr/local/tomcat/webapps# cd ..
root@8ce5ffcca900:/usr/local/tomcat# cp -r webapps.dist/* webapps
root@8ce5ffcca900:/usr/local/tomcat# cd webapps
root@8ce5ffcca900:/usr/local/tomcat/webapps# ls
ROOT docs examples host-manager manager
root@8ce5ffcca900:/usr/local/tomcat/webapps# cd ..
root@8ce5ffcca900:/usr/local/tomcat# exit
exit
[root@iZbp1ce780a5j2zww8kl9hZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8ce5ffcca900 tomcat "catalina.sh run" 30 minutes ago Up 30 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp sleepy_carver
ccee33500004 portainer/portainer "/portainer" 2 days ago Up 2 days 0.0.0.0:8088->9000/tcp, :::8088->9000/tcp nervous_shannon
c2ec55488bb3 elasticsearch:7.6.2 "/usr/local/bin/dock…" 2 days ago Up 2 days 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp elasticsearch02
[root@iZbp1ce780a5j2zww8kl9hZ ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest fad0ee7e917a 3 days ago 105MB
nginx latest d1a364dc548d 11 days ago 133MB
tomcat latest c43a65faae57 3 weeks ago 667MB
portainer/portainer latest 580c0e4e98b0 2 months ago 79.1MB
centos latest 300e315adb2f 6 months ago 209MB
elasticsearch 7.6.2 f29a1ee41030 14 months ago 791MB
如果你想要保存当前容器的状态,就可以通过commit来提交,获得一个镜像,就像学习VM时候,快照!