测试Commit镜像,我需要先拉取基础镜像,运行容器,在容器中添加jdk和tomcat。再将这个容器commit为一个新的镜像,再运行新的镜像。
1.拉取一个基础的centos镜像
docker pull centos:7
2.创建一个容器
docker run -itd --name songcentos centos:7
3.将tomcat和jdk复制到容器中
先下载tomcat和jdk
tomcat下载地址:https://tomcat.apache.org/download-90.cgi
jdk下载地址:https://www.oracle.com/java/technologies/downloads/
docker cp apache-tomcat-9.0.56.tar.gz songcentos:/opt/
docker cp jdk-8u261-linux-x64.tar.gz songcentos:/opt/
4.在容器中安装jdk
先进入容器
docker exec -it 容器ID /bin/bash
在/opt/下解压jdk和tomcat
tar zxvf jdk-8u261-linux-x64.tar.gz
tar zxvf apache-tomcat-9.0.56.tar.gz
将下面这段放在/etc/profile
任意位置中
export JAVA_HOME=/opt/jdk1.8.0_261
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
让文件立即生效
source /etc/profile
查看jdk是否安装成功
在/opt/apache-tomcat-9.0.56/bin/setclasspath.sh
文件中添加:
export JAVA_HOME=/opt/jdk1.8.0_261
启动tomcat
cd /opt/apache-tomcat-9.0.56/bin
./startup.sh
5.将容器提交成一个新的镜像
commit的格式是:
docker commit -m="描述信息" -a="作者" 容器id 目标镜像名:[TAG]
举例执行:
docker commit -m="tomcat centos" -a="Song" fecd8b1b17d3 tomcatcentos:1.0
已经提交成为新的镜像了
6.根据新镜像创建容器
创建新的容器
docker run -itd --name tomcatcentos1.0 -p 8991:8080 tomcatcentos:1.0
进入容器内部将tomcat启动
docker exec -it 6526dff17793 /bin/bash
cd /opt/apache-tomcat-9.0.56/bin
./startup.sh
访问成功!