ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

docker学习笔记4-Compose

2020-08-19 14:04:53  阅读:257  来源: 互联网

标签:ghost 容器 compose app 指定 笔记 Compose docker


  Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
  Compose使用的三个步骤如下:

  1. 使用Dockerfile定义环境。
  2. 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
  3. 最后,执行 docker-compose up 命令来启动并运行整个应用程序

  从上述描述中我们可以看出,compose的核心在于配置docker-compose.yml文件,简单的配置及其目的可通过下列模块获取

#此处需要和你的docker-compose版本一致,例如你的docker-compose版本为1.7.8 那么这个版本就是2
version: "2" 


networks:
  ghost:

#服务,主要用来整合容器,表明他们之前的关系
services:
  #二级标签是 ghost-app,这个名字是用户自己自定义,它就是服务名称。
  ghost-app:
    #基于一份 Dockerfile,在使用 up 启动之时执行构建任务,
    #这个构建标签就是 build,它可以指定 Dockerfile 所在文件夹的路径
    #这里就是找当前下的ghost文件夹
    build:
        context: ./dir #指定目录
        dockerfile: Dockerfile #指定Dockerfile文件名
        args:
            test:1  #添加构建参数,这是只能在构建过程中使用的环境变量
        labels: #置构建镜像的标签
    ports:
        -9030:9090 #将主机上的9030端口应射到容器的9090端口
    #加入指定网络
    networks:
      - ghost
    #容器的依赖、启动先后的问题,先启动依赖
    depends_on: #启动顺序 db redis ghost_app, 关闭顺序ghost_app, redis, app
      - db
      - redis
    container_name: #指定容器的名字

    cap_add: #容器添加宿主主机的内核功能
        - ALL #添加全部
    cap_drop:#容器删除拥有的宿主主机的内核功能
        - SYS_PTRACE #关闭PTRACE权限
    cgroup_parent: m-executor-abcd #为容器指定父cgroup,继承该组的资源限制

    command: #覆盖容器默认的启动命令

    entrypoint: #覆盖容器默认的entrypoint

    deploy: #采用swarm集群的方式部署时才会用到该方案,这里先不详细展开

    dns: #自定义dns

    devices: #指定设备映射列表  

    env_file:  #从文件添加环境变量

    environment: #添加环境变量键值对形式 

    expose: #暴露端口,但不应射到主机,只被连接的服务访问

    extra_hosts: #添加主机名映射 
    
    volumes: #挂载数据卷到容器  

    sysctls: #设置容器中的内核参数

    restart: #设置重启模式  

    networks: #配置容器连接的网络
  nginx:
    image:  nginx:latest #如果不需要build,可通过image指定直接从dockerhub抓取镜像
    container_name: #指定容器的名字而不是使用默认名字
    networks:
        - ghost
    depends_on:
        - ghost-app
    #宿主机会随机映射端口。
    ports:
        - 80:80
        - 88:88

  db:
    #指定服务的镜像名称或镜像 ID
    image: mysql:5.7.20
    networks:
      - ghost
    #设置镜像变量,它可以保存变量到镜像里面
    environment:
      MYSQL_ROOT_PASSWORD: mysqlroot
      MYSQL_USER: ghost
      MYSQL_PASSWORD: ghost
    #挂载一个目录或者一个已存在的数据卷容器,
    volumes:
      - ./data:/var/lib/mysql
    ports:
      - 3306:3306

docker-compose常用的命令:

  • docker-compose build 构建
  • docker-compose stop 停止
  • docker-compose up 启动
  • docker-compose rm 删除

docker-compose安装:

  1. 下载程序
    sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose
  2. 添加执行权限
    chmod +x /usr/bin/docker-compose
  3. 验证安装完成
    docker-compose --version

标签:ghost,容器,compose,app,指定,笔记,Compose,docker
来源: https://www.cnblogs.com/Rostov/p/13528918.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有