之前我们的镜像都是从docker hub上拉去,超过30%都是有漏洞,实际的生产环境中,我们都自己制作docker镜像。
构建docker镜像有两种,
docker commit
docker build和Dockerfile 文件
docker commit
基础镜像:本质上是一个操作系统
因我们制作一个tomcat,运行在os中,在过程中,我们需要准备一个这样的操作系统
本实例中制作一个tomcat容器
1)第一步我们要准备拉取基础镜像(centos)
先把环境清空
先用xftp把文件拷贝到宿主机
然后再从宿主机拷贝到容器中
记住解压的时候要有个参数-C
然后配置一下环境在 /etc/profile 文件下
JAVA_HOME=/usr/local/jdk1.8.0_161 export PATH=$JAVA_HOME/bin:$PATH
然后重启一下配置
source /etc/profile
然后查看一下java的版本
java -version
解压tomcat ,同样在usr的local目录下
同样配置tomcat的环境变量
在/usr/local/tomcat目录/bin/setclasspath.sh
export JAVA_HOME=/usr/local/jdk1.8.0_161 export JRE_HOME=/usr/local/jdk1.8.0_161/jre
到现在为止,已经在宿主机启动了一个容器,mycentos,在mycentos安装了tomcat和jdk
那么现在我想把这个容器提交为一个新的镜像。
本地我们就有自己的mytomcat这个镜像了
创建这个镜像的容器,包括映射端口号
-i:保持和docker容器内的交互,运行的命令结束后,容器依然存活,没有退出
-t:为容器的标准输入虚拟一个tty(虚拟终端)
-d:后台运行容器
–rm:容器在启动后,执行完成命令或程序后就销毁(不可于 -d 一起使用)
–name:给容器起一个自定义名称
-p:宿主机:内部端口
然后启动tomcat服务器
启动成功
镜像/容器 打包
docker save -o /root/tomcat.tar mytomcat