Docker commit :提交一个正在运行的容器为一个新的镜像
本例:制作一个tomcat镜像,制作步骤:
1. 拉取一个基础镜像(其实就是OS)
decker pull centos;
2. docker run -it --name mycentos centos /bin/bash 启动这个镜像创建一个容器,控制台将变成下面形式
3. docker cp apache-tomcat-9.0.27.tar.gz mycentos:/root 我们在虚拟机上新开一个工作台,从本地上传tomcat和JDK包到mycentos容器的/root
docker cp jdk-8u11-linux-x64.tar.gz mycentos:/root
4. 安装:
tar -zxvf jdk-8u11-linux-x64.tar.gz -C /usr/local/
5 配置环境变量
vi /etc/profile 插入下面两行记录
JAVA_HOME=/usr/local/jdk1.8.0_11
export PATH=$JAVA_HOME/bin:$PATH
配置完毕,更新配置文件
source /etc/profile
java -vsersion 查看是否安装成功
第二步:
6. 安装tomcat, 步骤和JDK安装一样。
tar -zxvf apache-tomcat-9.0.27.tar.gz -C /usr/local/
7. 配置文件
vi /usr/local/apache-tomcat-9.0.27/bin/setclasspath.sh
export JAVA_HOME=/usr/local/jdk1.8.0_11
export JRE_HOME=/usr/local/jdk1.8.0_11/jre
配置全部OK
回到linux虚拟机上,提交镜像、
8. docker commit mycentos mytomcat 提交修改后的mycentos镜像生成一个新的镜像,名为mytomcat
提交成功后,可以查看本地镜像
docker images
制作的镜像就有了。
接下来通过镜像创建容器
9. docker run -itd --name t1 mycentos /bin/bash
启动完毕通过docker ps查看当前运行的容器
然后,执行容器
10 。 docker run -itd --name=t1 -p 8888:8080 mytomcat /bin/bash 将容器的8080端口映射到虚拟机linux的8888端口,我们访问虚拟机的8888端口就等于访问容器的8080端口。
11 docker exec t1 /usr/local/apache-tomcat-9.0.27/bin/startup.sh 启动tomcat
然后就可以访问了。
192.168.209.130:8888 访问tomcat主页
明天用docker弄三台zookeeper服务器试试。