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包

 

posted @ 2020-09-19 10:17  齐华枫  阅读(2688)  评论(0编辑  收藏  举报