• 个人博客的上云之路[续]


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

    1. 安装Docker compose

    下载最新版的docker-compose文件 

    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

    添加可执行权限 

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

    测试安装结果 

    docker-compose --version 

    2.创建Docker Compose文件结构

    1.创建docker compose文件夹

    mkdir -p /usr/web/compose

     2. 创建docker compose配置文件docker-compose.yaml

    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

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

    3. 创建服务配置文件

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

    修改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

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

      

  • 相关阅读:
    调用API接口,查询手机号码归属地(2)
    调用API接口,查询手机号码归属地(1)
    F
    Icebound and Sequence(非互质逆元 快速乘法)or(矩阵快速幂)
    ProblemC、小花梨判连通(dfs)+想法stl
    cwb个人练习
    Fire Net (二分图匹配 匈牙利算法模板)
    Fire Net HDU
    Going Home POJ
    Two Sequences (二分+二进制) (好题)
  • 原文地址:https://www.cnblogs.com/daniels/p/9786224.html
Copyright © 2020-2023  润新知