linux上部署docker+tomcat服务,并部署项目
前段时间项目要求在linux服务器上用docker部署项目,搞负载均衡,因为前面学习过docker,所以查了很多资料,在这里做一下笔记,备忘。
1、检查内核版本 ,docker使用linux的内核必须是3.10以上,首先需要。
执行:uname -r
2、使用yum安装docker
执行:yum install docker
3、查看docker版本
执行:docker -v
4、启动docker服务,推荐开机自启
执行:
重启:systemctl restart docker
停止: systemctl stop docker
启动: systemctl start docker
开机自启: systemctl enable docker
查看状态: systemctl status docker
这个时候,启动了docker之后,就开始安装tomcat。
5、搜索tomcat镜像,通过上述命令查找tomcat镜像,选择Apache的tomcat,一般搜索到的结果,Apache tomcat是排在第一个的。而后可以进行安装
执行:docker search tomcat
6、安装tomcat镜像
拉取镜像:docker pull docker.io/tomcat
这里的docker/io.tomcat指的是上个步骤搜索出来的name字段的值
删除本地镜像:docker rmi 镜像名
7、启动tomcat服务
执行:1)docker run -d -p 8088:8080 docker.io/tomcat
2)docker run -d -p 8088:8080 --name tomcat1 --restart=always docker.io/tomcat
这是两种启动tomcat的命令,这里详细介绍一下:
-d表示后台运行,-p端口映射,前面的8088是外围访问端口(也就是本机ip对外开放的端口),后面8080是docker容器内部的端口,
加--name tomcat1 的意思,表示为此容器启一个别名叫tomcat1 ,以后再也不用操作容器id进行关闭、进容器目录什么的,直接把容器ID换成tomcat1 别名
加上--restart=always 表示此容器开机启动
8、查看正在运行的容器
执行:docker ps
9、运行中的docker,可以通过命令对已经创建的容器进行管理
启动容器:执行:docker start 容器id/别名
停止容器:执行:docker stop 容器id/别名
删除容器:执行:docker rm 容器id/别名
10、进入docker里面的tomcat容器
执行:
docker exec -it 容器id或别名 /bin/bash
11、退出docker里面的tomcat容器
执行:exit
12、接下来,将war放入docker的tomcat里
执行:docker cp 宿主机上war包的路径 容器id或别名:/usr/local/tomcat/webapps
例如:docker cp /usr/local/probject/bbs.war tomcat1:/usr/local/tomcat/webapps
运行中的tomcat会自动解压war包并运行
13、这里再介绍使用挂载的方式启动tomcat,在上面执行完6之后。
将宿主机上创建目录:/usr/local/dev/docker-tomcat
后面要部署项目只需要将war包上传至此目录即可,容器会自动运行
执行:docker run -d -p 8088:8080 --name tomcat1 -v /usr/local/dev/docker-tomcat:/usr/local/tomcat/webapps --restart=always docker.io/tomcat
执行:docker run -d -p 8089:8080 --name tomcat2 -v /usr/local/dev/docker-tomcat:/usr/local/tomcat/webapps --restart=always docker.io/tomcat
解释:docker run -d -p 8088:8080 --name 别名-v 宿主机路径:/usr/local/tomcat/webapps --restart=always docker.io/tomcat
这里启动了两个容器:分别是tomcat1对应8088端口,tomcat2对应8089端口
14、这个时候使用nginx进行负载均衡配置,将请求转发到 localhost:8088和localhost:8089即可
后面再学习一下通过Dockerfile来运行jar包