一、 镜像准备
- docker pull centos 拉取centos 镜像
- docker images 查看镜像拉取是否成功
- docker run -itd --name mycentos centos 创建centos容器名字为Mycentos
- docker ps -a 查看容器是否创建成功 及运行状态(up运行,如果是Exited 检查建立容器语法)
- 可以查看容器详细信息 docker inspect mycentos 包括ipv4 地址,nginx反向代理会用到
二、 jdk环境搭建
- 下载jdk8 https://pan.baidu.com/s/18IicPYf7W0j-sHBXvfKyyg
- jdk包上传至服务器 并拷贝 cp 到mycentos 容器/usr/local/ ,docker命令: docker cp jdk-8u161-linux-x64.tar.gz mycentos:/usr/local
- 进入mycentos容器 docker exec -it mycentos /bin/bash 下图可以看已经进入了容器
- 进入容器/usr/local/目录 并解压 jdk 命令:
tar -zxvf
jdk-8u161-linux-x64.tar.gz - 紧接着配置容器java环境变量 vim /etc/profile 添加以下内容 注意把1. 2. 3.序列删掉。 最后保存并退出。
- export JAVA_HOME=/usr/local/jdk1.8.0_161/
- export PATH=$JAVA_HOME/bin:$PATH
- export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
刷新环境变量命令:source /etc/profile
,java -version 检查是否安装成功
三、tomcat部署 提交新镜像
- 进入mycentos容器/usr/local/下运行命令mkdir tomcat,创建tomcat文件夹。将准备好的本地tomcat上传至宿主机服务器 并拷贝到mycentos 容器/usr/local/tomcat/目录下,命令: docker cp apache-tomcat-8.0.8 mycentos:/usr/local/tomcat,并在容器内进行解压。(此处我拷贝的解压后的tomcat)
- 配置tomcat jdk环境变量 vim apache-tomcat-8.0.8/bin/setclasspath.sh 保存并退出
- 回到宿主机 制作新tomcat镜像 docker commit mycentos(选择目标容器) tomcat8.0-solr(生成新镜像名称)
- 创建新的 tomcat容器并映射8080端口: docker run -itd --name solr -p 8080:8080 tomcat8.0-solr /bin/bash , 查看容器状态
四、至此tomcat镜像制作完成,通过docer exec -it solr /bin/bash 进入名为solr的tomcat 镜像,后面的启动操作跟你在centos系统中的操作是一样的,例如cd /usr/local/tomcat/apache-tomcat-8.0.8/bin/ 运行./startup.sh 。日志输出 tail -f ../logs/catalina.out
整个镜像打包过程是依赖centos镜像 创建了一个mycentos容器,然后在mycentos容器中搭建 apache环境,最后将此容器生成新的快照也就是新的镜像。可以上传至本地或者第三方的镜像仓库,方便再次部署同样环境时直接导入镜像 修改端口就可以快速启动 访问了。