1、安装CentOS7,拉取镜像
docker pull centos:centos7
2、创建JDK7,8的容器对象
id(b5b4...)需要换成自己centos7d的容器的id
docker run -i -t --name os7_jdk8_tomcat9 -v /alidata/software/:/alidata/software/ b5b4d78bc90c /bin/bash
3、查看刚刚创建好的对象
docker ps -a
4、启动容器,并进入容器
启动容器,[容器id] = 你的容器id。
docker start [容器ID]
进入容器
docker exec -it [容器ID] /bin/bash
5、安装JDK和Tomcat
进入jdk与tomcat的文件夹,解压安装。解压 安装版本根据需要变动
rpm -ivh jdk-7u79-linux-x64.rpm
tar -xzvf apache-tomcat-7.0.67.tar.gz
将解压完的tomcat文件夹移动到 /alidata/service下
创建文件夹 进入alidata,创建service文件夹
mkdir service
mv apache-tomcat-7.0.67.tar.gz /alidata/service
6、编写启动sh脚本
vi /root/run.sh
文件中写入以下内容,i 编辑 ESC :wq 保存编辑。
#!/bin/bash
sh /alidata/service/apache-tomcat-9.0.21/bin/catalina.sh run
7、设置文件的权限(很重要,不要忘记)
chmod u+x /root/run.sh
8、进入宿主机器,同步时钟。
exit 退出当前docker容器,查看容器id
docker ps -a
docker cp /usr/share/zoneinfo/Asia/Shanghai [容器ID]:/etc/localtime
9、提交以发布相关镜像image
project为你的项目名字
docker commit [容器ID] jdk8/project:1.0
10、可以查看到自己提交的镜像image
docker images
11、根据镜像创建WEB容器
这一步是设置docker中镜像与外部的联系,外部中的alidata/docker下的文件都对应着docker中镜像对应的路径,自己查看下面的命令,查看其对应的文件夹是否有缺失。其中home为刚才的project起的名字。这一步是映射端口,外部与内部目录的联系。
docker run -d -p 80:8080 -v /alidata/docker/jdk8/home/webapps/:/alidata/service/apache-tomcat-9.0.21/webapps/ -v /alidata/docker/jdk8/home/tomcatlogs/:/alidata/service/apache-tomcat-9.0.21/logs/ -v /alidata/docker/jdk8/home/weblogs/:/alidata/service/runtime-log/home/ --name home_jdk8 jdk8/home:1.0 /root/run.sh
12、容器开机启动
这个是Redis 可以先不加
docker run -it -p 6379:6379 --restart=always --name redis -d redis
对已经创建的容器用docker update 更新
docker update --restart=always [容器ID]
13、TomCat 启动为404
因为 aldata/docker/jdk8/home/webapps 下为空