我的博客的上云之路[续]

  上一篇我使用了docker分别去部署了Nginx,Tomcat, Mysql服务。可是你们也不难发现这个步骤确实有点多,整个过程有点繁琐。因此在这里我将介绍一种更加方便快捷的服务部署方式Docker compose。Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,一般由多个容器组成。使用Docker Compose再也不须要使用shell脚原本启动容器。 Compose 经过一个配置文件来管理多个Docker容器,在配置文件中,全部的容器经过services来定义,而后使用docker-compose脚原本启动,中止和重启应用,和应用中的服务以及全部依赖服务的容器,很是适合组合使用多个容器进行开发的场景。经过上边这些Docker compose的介绍,咱们不难发现用它来部署咱们的服务确实很合适。mysql

1. 安装Docker compose

下载最新版的docker-compose文件 nginx

sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

添加可执行权限 git

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

测试安装结果 github

docker-compose --version 

2.建立Docker Compose文件结构

1.建立docker compose文件夹web

mkdir -p /usr/web/compose

 2. 建立docker compose配置文件docker-compose.yamlsql

cd /usr/web/compose
touch docker-compose.yaml
内容以下:


version: '3'
services:
  nginx:
   container_name: nginx1
   image: nginx:latest
   restart: always
   ports:
   - 80:80
   volumes:
   - ./nginx/conf.d:/etc/nginx/conf.d
   - ./nginx/nginx.conf:/etc/nginx/nginx.conf

  mysql:
   container_name: mysql5.7
   image: mysql:5.7
   environment:
    MYSQL_DATABASE: solo
    MYSQL_ROOT_PASSWORD: ************
    MYSQL_ROOT_HOST: '%'
   ports:
   - 3306:3306
   restart: always
   volumes:
   - ./mysql/conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf
   - ./mysql/data:/var/lib/mysql
    
  tomcat:
    container_name: my_tomcat1
    restart: always
    image: tomcat:9.0.12
    volumes:
      - ./tomcat/logs:/usr/local/tomcat/logs
      - ./tomcat/conf.d:/usr/local/tomcat/conf
      - ./tomcat/webapps:/usr/local/tomcat/webapps
    ports:
    - 8080:8080
    depends_on:
      - nginx
      - mysql

在这个配置文件中分别定义了咱们以前启动的三个服务docker

3. 建立服务配置文件

  复制咱们在上篇博客中建立的tomcat文件夹、nginx文件夹、mysql文件夹到compose文件夹中。shell

修改nginx配置文件nginx.conf,由于docker compose各个服务见可使用服务名来互相访问
因此将 server  my_tomcat1:8080改成server  tomcat:8080;
修改项目的数据库链接地址,tomcat中的应用能够直接使用mysql服务名来访问
jdbc:mysql://mysql.local:3306/solo改成jdbc:mysql://mysql:3306/solo

 4.启动服务

  中止并删除以前建立的容器,将当前目录切换到compose目录下,执行以下命令:数据库

docker-compose up -d

  三个服务将依次启动,至此咱们的我的博客已经成功上线。tomcat

相关文章
相关标签/搜索