【二-docker】3. docker compose

前言

近期在学习千峰达摩院的微服务2.0教程。我会把学习过程中提炼出来的知识记录并分享出来~

基础

  • 使用场景

    • docker-compose只能用于集成测试环境或开发环境
    • 生产环境如果需要使用容器
      • docker swarm (已过时)
      • Kubernetes
  • 指令

    • 在docker-compose.yml所在目录下查看该容器日志
      • docker-compose logs -f
  • 杂项

    • volumes数据卷不会随着容器的删除而被删除

案例

  1. 准备工作

    # 建立用户app及用户组appg
    groupadd appg
    useradd -g appg app    
    passwd app
    
    # 查看用户
    id app
    
    # 为hadoop添加sudo权限
    visudo 
      app ALL=(ALL) ALL
      # ALL=(ALL) NOPASSWD: ALL # 免密码sudo,暂时不使用
    
    # 将用户添加进docker用户组
    sudo gpasswd -a app  docker
    
    # 切换到app用户
    su app
    
    # 建立相关目录 sotf-存放安装包 install-软件安装目录
    cd /
    sudo mkdir server
    chown app:appg server
    cd server
    mkdir soft 
    mkdir install
    
  2. 部署mysql

    • 建立目录
      cd /server/install
      mkdir mysql
      mkdir mysql/data
      cd mysql
      
    • docker-compose.yml
      version: '3.1'
      services:
        img_mysql5.7:
          image: mysql:5.7
          container_name: con_mysql5.7
          restart: always
          environment:
            MYSQL_ROOT_PASSWORD: 123456
          command:
            --default-authentication-plugin=mysql_native_password
            --character-set-server=utf8mb4
            --collation-server=utf8mb4_general_ci
            --explicit_defaults_for_timestamp=true
            --lower_case_table_names=1
          ports:
            - 3306:3306
          volumes:
            - ./data:/var/lib/mysql
      
  3. 部署tomcat

    • 建立目录
      cd /server/install
      mkdir tomcat85
      mkdir tomcat85/webapps
      mkdir tomcat85/webapps/ROOT
      touch tomcat85/webapps/ROOT/index.html
      cd tomcat85
    • docker-compose.yml
      version: '3.1'
      services:
        img_tomcat8.5:
          restart: always
          image: tomcat:8.5
          container_name: con_tomcat8.5
          ports:
            - 8080:80
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值