使用docker-compose搭建tomcat并且部署crm项目(mysql主从)

一.部署tomcat

1.下载相关镜像tomcat8.5.40
 

docker pull tomcat:8.5.40

2.在/data目录下创建tomcat/webapps目录

mkdir -p /data/tomcat/webapps

注意:这里是准备将宿主机的/data/tomcat/webapps映射到容器的
     /usr/local/tomcat/webapps目录,那么在创建tomcat容器后,
    本应该存在与webapps目录下的原生目录(例如:manager等)都
    将不存在,因为映射的宿主机目录/data/tomcat/webapps为空,
    所以将不能采用tomcat原有部署方式,只能将war通过rz命令上传
    至宿主机的/data/tomcat/webapps目录

3.创建一个容器测试一下镜像

docker run \
          -p 8080:8080 \
          --name tomcat-0 \
          --privileged=true \
          --restart=always \
          -v /data/tomcat/webapps:/usr/local/tomcat/webapps \
          -e TZ=Asia/Shanghai \
          -itd tomcat:8.5.40

 4.上传hello.war至/data/tomcat/webapps目录

文章使用的素材会放到末尾

 rz hello.war

上传之后,使用以下指令重启容器

docker restart tomcat-0

使用docker logs  -f tomcat-0 监听一下容器日志 // -f 表示一直监听日志 

使用docker-compose搭建tomcat并且部署crm项目(mysql主从)_第1张图片

可以在里面发现刚刚上传的war项目,并且也启动了tomcat服务

ctrl + c 退出日志监听

现在我们去访问刚刚部署的项目

使用docker-compose搭建tomcat并且部署crm项目(mysql主从)_第2张图片

成功的访问到了刚刚部署的项目!!!

后面的步骤,我们要在tomcat部署crm项目,也就是数据库,在部署之前我们还用到mysql主从,不然部署crm项目的时候会报错~

可以执行 rm -rf * 删除之前所有部署的项目,

接下来我们就会是用docker-compoose一次性去创建mysql主从,还有tomcat的服务

执行 docker rm -f $(docker ps -aq) 删除之前的测试用的容器 

二.安装docker-compose

1上传文件

安装包刚下载过来是docker-compose-Linux-x86_64

需要将docker-compose-Linux-x86_64重命名为docker-compose

rz将docker-compose文件上传到虚拟机的/usr/local/bin/目录下

 cd /usr/local/bin

添加可执行权限

chmod +x /usr/local/bin/docker-compose

2.创建并编辑yml文件

先创建一个文件夹,给来放yml文件

mkdir docker

cd docker

在docker里面执行下面的命令

touch docker-compose.yml

vi docker-compose.yml 进入文件把以下内容复制进去:(编辑yml文件的可以在idea中编辑)

# 版本号
version: '3'
# 定义服务
services:
  # 服务名
  mysql-master:
    # 容器名称
    container_name: mysql-master
    # 镜像
    image: mysql/mysql-server:5.7
    # 重启
    restart: always
    # 提供伪终端
    tty: true
    # root具备管理员权限
    privileged: true
    # 环境变量
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    # 数据卷(目录映射)
    volumes:
      - /data/mysql-master/conf/my.cnf:/etc/my.cnf
      - /data/mysql-master/data:/var/lib/mysql
    # 网络
    networks:
      mynetwork:
        ipv4_address: 172.19.0.3
  # 服务名
  mysql-slave:
    # 容器名称
    container_name: mysql-slave
    # 镜像
    image: mysql/mysql-server:5.7
    # 重启
    restart: always
    # 提供伪终端
    tty: true
    # root具备管理员权限
    privileged: true
    # 环境变量
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    # 数据卷(目录映射)
    volumes:
      - /data/mysql-slave/conf/my.cnf:/etc/my.cnf
      - /data/mysql-slave/data:/var/lib/mysql
    # 网络
    networks:
      mynetwork:
        ipv4_address: 172.19.0.4
  # 服务名
  tomcat-0:
    # 容器名称
    container_name: tomcat-0
    # 镜像
    image: tomcat:8.5.40
    # 重启
    restart: always
    # 端口映射
    ports:
      - 8080:8080
    # 启动顺序
    depends_on:
      - mysql-master
    # 执行命令
    command: "./wait-for-it.sh -t 0 mysql-master:3306 -- catalina.sh run"
    # 提供伪终端
    tty: true
    # root具备管理员权限
    privileged: true
    # 环境变量
    environment:
      TZ: Asia/Shanghai
    # 数据卷(目录映射)
    volumes:
      - /data/tomcat/webapps:/usr/local/tomcat/webapps
    # 网络
    networks:
      mynetwork:
        ipv4_address: 172.19.0.5
# 定义所需要的网络
networks:
  mynetwork:
    driver: bridge
    ipam:
      config:
        - subnet: 172.19.0.0/16

在编辑完docker-compose.yml文件之后,我们把要部署的crm项目上传到/data/tomcat/webapps下

cd /data/tomcat/webapps

rz 上传 

上传之后我们运行docker-compose.yml

docker-compose up -d

加了 -d 就是后台运行 

访问运行crm项目

http://xx.xx.xx.xx:8080/crm/sys/loginAction.action?username=zs&password=123

 使用docker-compose搭建tomcat并且部署crm项目(mysql主从)_第3张图片

 欧克登录成功,说明crm部署成功了


 好啦 文章内容到这里就结束了  你学到了吗  

觉得有用的记得关注点赞加收藏哦  我的Docker专栏还有其他关于Dokcer的技术点哦~

我敲BUG的Docker专栏:http://t.csdn.cn/ypXDz

  

你可能感兴趣的:(tomcat,docker,java)