zoukankan      html  css  js  c++  java
  • Docker Compose

    Docker Compose

    用途

    服务 (service):一个应用容器,实际上可以运行多个相同镜像的实例。
    项目 (project):由一组关联的应用容器组成的一个完整业务单元。
    Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。
    docker compose就是用来对docker容器集群进行快速编排,和k8s/swarm的区别就是docker-compose只能管理本地服务器的容器,而k8s/swarm能跨服务器进行管理且功能更加强大。

    用法

    下载发布包

    下载docker-compose:到github,下载对应版本的发布包。在linux可以使用命令(注意将地址改成自己的版本):

    curl -L https://github.com/docker/compose/releases/download/1.24.0-rc1/docker-compose-Linux-x86_64> /usr/local/bin/docker-compose
    下载到/usr/local/bin/,docker-compose就是执行文件,加上执行权限后即可使用

    编写docker-compose.yaml

    docker-compose.yaml是默认的文件名,可以改但最好建议别改

    docker-compose.yaml语法

    示例:

    
    version: '3'
    services:
      admin:
        restart: always
        image: tomcat
        container_name: myshop-admin
        ports:
          - 8080:8080
        volumes:
          - /usr/local/docker/myshop-artifacts/admin:/usr/local/tomcat/webapps/ROOT
    
      mysql:
        restart: always
        image: mysql:5.7.22
        container_name: myshop-mysql
        ports:
          - 3307:3306
        environment:
          TZ: Asia/Shanghai
          MYSQL_ROOT_PASSWORD: 123456
        command:
          --character-set-server=utf8m64
          --collation-server=utf8m64_general_ci
          --explicit_defaults_for_timestamp=true
          --lower_case_table_names=1
          --max_allowed_packet=128M
          --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
        volumes:
          - mysql-data:/var/lib/mysql
    
    volumes:
      mysql-data:
    #不写就是默认数据卷,位置就在/var/lib/docker/volumes下
    

    执行docker-compose.yaml

    在docker-compose.yaml目录下执行命令:docker-compose up即自动开始构建拉取镜像生成容器,-d守护态运行(这里在docker-compose.yaml相同目录执行,其实就是和dockerfile 上下文一样的意思,或者使用docker-compose -f 路径来指定执行)
    docker-compose down 停止,会自动删除容器
    docker-compose logs 查看日志,-f实时监听日志输出
    docker-compose logs 容器名

    本博客为Swagger-Ranger的笔记分享,文中源码地址: https://github.com/Swagger-Ranger
    欢迎交流指正,如有侵权请联系作者确认删除: liufei32@outlook.com

  • 相关阅读:
    4.Pod控制器
    3.Pod控制器应用进阶
    2.k8s资源清单
    1.使用kubeadm安装kubernetes
    1.Linux命令行快捷键、Vim
    3.docker镜像管理基础
    2019第二周作业
    2019春第一周作业编程总结
    对我影响最大的三位老师
    2018寒假作业学习总结
  • 原文地址:https://www.cnblogs.com/Swagger-Ranger/p/10670029.html
Copyright © 2011-2022 走看看