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