zoukankan      html  css  js  c++  java
  • docker compose学习

    下载docker-compose

    sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    

    检测是否安装成功

    docker-compose -v
    

    创建第一个docker-compose程序

    1.创建一个docker-compose.yml文件
    touch docker-compose.yml
    2.在配置文件中定义一个项目存在哪些服务
    version: "3.0"
    services:
    
      demo:
        build:  #启动服务时先将build命令中指定dockerfile打包成镜像,在运行该镜像
          context:demo   # 指定上下文目录dockerfile所在目录 ,把demo当做当前目录的上下文根目录,然后找寻dockerfile文件
          dockerfile: Dockerfile
        container_name: demo   #指定运行容器后的名称
        ports:
          - "8081:8081"
        networks:
          - hello
        depends_on:
          - tomcat    # 依赖于tomcat,必须等下面的tomcat起来后这个demo才能启动
    
    
      tomcat:  #服务名唯一
        container_name: tomcat01     #相当于run的 --name
        image: tomcat:8.0-jre8 #创建当前这个服务使用镜像是谁     相当于run的image
        ports:     #数组           相当于run的-p
          - 8080:8080   #映射端口
        volumes:   #完成宿主机与容器中目录数据卷共享      相当于run的-v
          # - /root/apps:/usr/local/tomcat/webapps    #使用自定义路径映射  两种方式
          - tomcatwebapps:/usr/local/tomcat/webapps    # 这个tomcatwebapps需要在声明一下
        networks:   #代表当前服务使用哪个网络桥      相当于run --network
          - hello
    
    
    mysql:
      image: mysql:5.7.32
      container_name: mysql   #服务器启动之后容器名称, 相当于docker run之后的--name
      ports:
        - "3307:3306"
      volumes:
        - mysqldata:/var/lib/mysql
        - mysqlconf:/etc/mysql
      environment:   #下面env_file两个选一个使用,推荐使用下面的这样不容易暴露密码
        - MYSQL_ROOT_PASSWORD=root
      env_file:   #用来将environment环境中配置放入指定配置文件中
        - ./mysql.env    #需要创建mysql.env文件并将MYSQL_ROOT_PASSWORD=root放进去,上面的就不要写了
      networks:
        - hello
      
      
    volumes:  #声明上面服务所使用的自动创建的卷名
        tomcatwebapps:   #声明指令的卷名  compose自动创建该卷名但是会在之前加入项目名
            external:   #使用自定义卷名
              true     #true代表确定使用指定卷名
        mysqldata:
        mysqlconf:
    
    
      # 可配置多个服务
      tomcat:  #服务名唯一
        image: tomcat:8.0-jre8 #创建当前这个服务使用镜像是谁
        ports:     #数组
          - 8081:8081   #映射端口
    3.运行docker-compose
    docker-compose up  #启动这个项目的所有服务  必须保证运行命令的目录存在docker-compose.yml
    
    
    

    常用指令

    up指令
    作用:用来启动所有docker-compose服务
    选项: -d 后台启动所有服务
    down指令
    作用:用来关闭所有docker-compose服务
    exec指令
    作用:进入容器
    docker-compose exec redis(docker-compose.yml中声明服务id) bash
    ps 指令
    作用:用来展示当前docker-compose运行的所有容器
    docker-compose ps
    restart 指令
    作用:用来重启项目中每个服务如果不写服务id 默认重启所有服务
    docker-compose restart [服务id]
    rm指令
    作用:用来删除项目服务
    docker-compose rm -fv [服务id] 注意:谨慎操作 -v删除服务的数据卷
    start指令
    启动服务 docker-compose start [服务id]
    stop指令
    关闭服务 docker-compose stop [服务id]
    top指令
    用来查看compose容器内运行的进程
    docker-compose top
    logs指令
    展示某些容器的日志
    docker-compose logs [服务id]

    -------------------------------------------

    个性签名:代码过万,键盘敲烂!!!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    AcWing 157. 树形地铁系统 (hash判断树同构)打卡
    AcWing 156. 矩阵 (哈希二维转一维查询)打卡
    AcWing 144. 最长异或值路径 01字典树打卡
    AcWing 143. 最大异或对 01字典树打卡
    AcWing 142. 前缀统计 字典树打卡
    AcWing 139. 回文子串的最大长度 hash打卡
    AcWing 138. 兔子与兔子 hash打卡
    常用C库函数功能及用法
    编程实现C库函数
    C语言面试题5
  • 原文地址:https://www.cnblogs.com/weiweivip666/p/14513782.html
Copyright © 2011-2022 走看看