docker部署tomcat及web应用全过程和三种实现方式
- docker部署tomcat及web应用全过程和三种实现方式
- 一、在线下载docker
- 二、docker安装Tomcat容器
- 三、部署自己的web引用
docker部署tomcat及web应用全过程和三种实现方式
一、在线下载docker
安装
yum install -y epel-release yum install docker-io
加入开机启动
docker chkconfig docker on
启动docker服务
service docker start
二、docker安装Tomcat容器
2.1.查找服务器的tomcat信息
docker search tomcat
2.2下载下来官方的镜像Starts最高的那个
docker pull tomcat
2.3 查看docker所有的镜像
docker images
2.4启动tomcat
若端口被占用,可以指定容器和主机的映射端口 前者是外围访问端口:后者是容器内部端口
docker run -p 8081:8080 tomcat:8.5
2.5启动后即可访问 192.168.40.132:8081
三、部署自己的web引用
使用以下命令来查看正在运行的容器
docker ps
3.1.将自己的war包 上传到主机
3.2.执行 查看容器comcat中的地址
中间那个是容器id(CONTAINER_ID)
docker exec -it 16c1d697bf43 /bin/bash
exec是进入之前已经在运行的容器
3.3把war包丢到宿主机 在丢到container里面丢到tomcat/webapps
docker cp ROOT.war 16c1d697bf43:/usr/local/tomcat/webapps
3.4.启动tomcat 或者重启 docker restart 【容器id】
docker run -p 8081:8080 tomcat
3.5查看已经启动镜像
docker ps
3.6执行 查看容器comcat中的项目
#中间那个是容器id(CONTAINER_ID)
docker exec -it 16c1d697bf43 /bin/bash
cd /webapps ls # 即可查看到我们的项目了
貌似这种copy方式,只能从容器中向主机copy,反过来是不行的
3.7 上述执行有个弊端就是 容器重启后项目就会不再了,下面是方式2启动 以挂载的方式启动
docker run -d -v /root/docker_file/ROOT.war:/usr/local/tomcat/webapps/ROOT.war -p 8080:8080 tomcat:8.5
3.8前两种方式建议在测试环境使用,毕竟要经常修改代码 ,方式3可以放到生产上使用。也是官网建议的方式
vi Dockerfile
注意:copy最好将主机的文件放在dockerfile的同级目录下面,放在其他地方可能找不到。
#你的tomcat的镜像
FROM tomcat
#作者
MAINTAINER XXX@qq.com
RUN rm -fr /usr/local/tomcat/webapps/*
#放置到tomcat的webapps目录下
COPY ROOT.war /usr/local/tomcat/webapps
#注意:copy 的第二个参数是docker的目标路径,如果/结尾就是当作目录,如果不是一这个结尾默认当作文件处理
3.8.1生成新的镜像:
docker build -t elong/tomcat:1.0 .
3.8.2 启动新的镜像
docker run -p 8081:8080 elong/tomcat:1.0
其他
# 基本信息查看
docker version
# 查看docker的版本号,包括客户端、服务端、依赖的Go等
docker info
# 查看系统(docker)层面信息,包括管理的images, containers数等