在 centos7 系统中用 docker 创建 tomcat 服务镜像
1、在centos7安装docker
1.1 安装依赖包
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
1.2 更换yum源为阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.3 更新yum软件索引包
yum makecache fast
1.4 执行docker安装
yum install docker-ce docker-ce-cli containerd.io
中途根据提示输入2次y
1.5 安装后查看docker版本
docker --version
1.6 启动docker
systemctl start docker
1.7 测试运行
docker run hello-world
1.8 设置开机运行
systemctl enable docker
1.9 查看docker详细信息
docker info
2、通过Dockerfile创建tomcat服务镜像
2.1 在服务器上创建 /home/dockerImage 目录;
2.2 上传 jdk-11.0.12_linux-x64_bin.tar.gz 至2.1目录下并解压,解压后的目录为 /home/dockerImage/jdk-11.0.12
2.3 将包含代码及配置文件的tomcat 拷贝至2.1目录下,/home/dockerImage/tomcat-8.5.46-task
2.4 创建Dockerfile文件,内容为:
FROM centos MAINTAINER lixj ENV REFRESHED_AT 2021-09-18 #切换镜像目录,进入/usr目录 WORKDIR /usr #在/usr/下创建jdk目录,用来存放jdk文件 RUN mkdir jdk #在/usr/下创建tomcat目录,用来存放tomcat RUN mkdir tomcat #将宿主机的jdk目录下的文件拷至镜像的/usr/jdk目录下 ADD jdk-11.0.12 /usr/jdk/ #将宿主机的tomcat目录下的文件拷至镜像的/usr/tomcat目录下 ADD tomcat-8.5.46-task /usr/tomcat/ #设置环境变量 ENV JAVA_HOME=/usr/jdk ENV JRE_HOME=$JAVA_HOME/ ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH ENV PATH=/sbin:$JAVA_HOME/bin:$PATH #公开端口 EXPOSE 152 #设置启动命令 ENTRYPOINT ["/usr/tomcat/bin/catalina.sh","run"]
完整目录如下:
2.5 进入该目录
[root@gujiatongzhi ~]# cd /home/dockerImage
2.6 生成镜像文件
docker build -t task-tomcat .
查看生成的镜像:
[root@gujiatongzhi dockerImage]# docker images
2.7 运行容器
docker run --name task-tomcat-01 -d -p 152:152 task-tomcat:latest
如启动成功,即可用 http://127.0.0.1:152 访问到web应用。
2.8 查看所有容器信息
docker ps -a
2.9 查看容器日志
docker logs 6db5a4bf8c42
6db5a4bf8c42 为容器ID
2.10 进入容器内部查看
docker exec -it 6db5a4bf8c42 /bin/bash
3、镜像、容器维护
#启动容器 docker start 1c1384207078 #停止容器 docker stop 1c1384207078 #重启容器 docker restart 1c1384207078 #删除容器 docker rm 1c1384207078 #删除镜像(必须先删除镜像对应的所有容器) docker rmi task-tomcat
4、详细介绍网址 https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html
Docker 手册: https://www.docker.org.cn/docker/docker-206.html
5、镜像push
5.1 访问 https://hub.docker.com 注册用户账号并创建个Repositories,如下图所示:
5.2 在linux主机上登录docker服务器
docker login
根据提示输入Username和Password:
5.3 创建tag
docker tag ad5776582068 101key/task:1.0
其中 “ad5776582068” 为镜像ID、“101key/task”为用户名/仓库名
5.4 执行push
docker push 101key/task:1.0
推送成功后,可在网站上看到信息: