简介
实验环境
系统版本:centos7x3.10.0-514.el7.x86_64
Docker版本:Docker version 1.13.1(yum安装)
关闭防火墙并禁止开机自启
systemctl stop firewalld.service
systemctl disable firewalld
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
重启 reboot
一、安装docker
1、检查默认存储驱动(两种查看方式)
ls -l /sys/class/misc/device-mapper
grep device-mapper /proc/devices
注:命令结果有输出即为支持,如未有任何输出则需安装device-mapper软件包,并使用modprobe dm_mod加载该模块。
2、安装docker
yum -y install docker
3、启动Docker守护进程
1)启动docker
systemctl start docker
2)设置docker开机自启
systemctl enable docker
3)查看docker状态
docker info
二、下载tomcat镜像
1、查找tomcat镜像
docker search tomcat
2、下载tomcat镜像
docker pull tomcat
注:根据你需要的版本名称下载即可。
3、查看镜像
docker images
4、生成tomcat容器并映射端口8080
docker run -it -p 8080:8080 docker.io/tomcat /bin/bash
注:以上截图是运行容器并进入容器,也可以使用-itd后端运行容器不进入容器,然后使用attach或者exec进入容器命令进入容器,启动tomcat服务。
5、启动tomcat
注:以上截图是在启动容器时将进入容器,这样方便我们直接启动tomcat,切记退出容器使用ctrl+p然后ctrl+q这样容器会在后端继续运行。
6、监听tomcat服务端口(8080)
netstat -antupl | grep 8080
注:看到以上截图说明我们tomcat容器启动正常。
7、验证tomcat
访问网页:http://192.168.152.169:8080/
注:看到这个截图说明tomcat正常工作。
三、创建tomcat镜像(常用两种方式)
方式一:
1、查看正在运行的容器
docker ps
2、将war包上传到服务器
3、查看容器里tomcat的地址
docker exec -it 容器id /bin/bash
注:以上这步截图可能有的童鞋不太理解啥意思?简单解释一下什么是容器里的tomcat地址呢?没错你猜对了就是tomcat绝对路径/usr/local/tomcat/目录,但是随着tomcat的版本不同,它的目录路径也不太一样,比如说你是源码安装或高低版本。但是有的童鞋还是想问,看这个路径干嘛?问到重点上来,因为这一步是为了后边创建自己的tomcat镜像做铺垫,说白了就是为后边拷贝war包或者写Dockerfile文件时,需要用到这个路径。
4、通过命令上线war包
1)进入tomcat容器
docker exec -it 容器id /bin/bash
2)删除tomcat容器里默认网页
rm -rf webapps/*
3)上线war包
//将war包手动拷贝到tomcat容器里
docker cp jenkins.war 12542fe00fac:/usr/local/tomcat/webapps/
//进入tomcat容器并查看容器里是否有这个war包
docker exec -it 1254 /bin/bash
ls webapps/
//访问网页验证
访问网址:http://192.168.152.169:8080/jenkins
注:到这里说明我们手动上线环境工作正常!切记这种方式只能使用在测试环境,官网建议在真实上线环境,需要使用Dockerfile来创建自己的镜像并启动!
方式二:
1、查看正在运行的容器
docker ps
2、将war包上传到服务器
3、查看容器里tomcat的地址
docker exec -it 容器id /bin/bash
4、通过Dockerfile文件上线war包
1)进入tomcat容器
docker exec -it 容器id /bin/bash
2)删除tomcat容器里默认网页
rm -rf webapps/*
3)编辑Dockerfile文件
vi Dockerfile
FROM docker.io/tomcat:latest 指定基础镜像
MAINTAINER wangfeiyu@xingyoucai.com 作者邮箱
COPY jenkins.war /usr/local/tomcat/webapps 将当前路径的war包拷贝到指定路径
4)查看Dockerfile文件权限
5)生成新的tomcat镜像
docker build . -t tomcat-demo:v1
注:这里有的童鞋已经发现在这里有一个点,这个点的意思就是当前路径的意思,如果是其他路径,适当修改即可。至于后边的镜像名称和标签,自己随便写,记住即可!
6)查看镜像
docker images
7)启动新的tomcat镜像
docker run -itd -p 8080:8080 tomcat-demo:v1
注:切记如果有其他容器占用8080端口,他会提示启动报错,所以我们在启动新镜像时,最好提前把8080端口释放或者使用其他端口。
8)查看启动的容器
docker ps
9)访问网页验证
网页访问:http://192.168.152.169:8080/jenkins
注:以上通过构建dockerfile文件来创建自己的镜像顺利完成,切记不是说自己写一个文档就可以创建镜像了,而是因为在基础镜像上添加一些东西,所以才可以创建镜像的,也就是说创建任何镜像的前提都是有同样的基础镜像。
转载于:https://blog.51cto.com/13043516/2171680