zoukankan      html  css  js  c++  java
  • docker-compose 的安装和使用

      docker-compose 是一个用户自定义和运行多个容器的docker 应用程序,在 compose中,可以使用yaml 或者yml 文件来配置应用程序。

      

      安装:

    yum -y install epel-release
    yum -y install python-pip
    pip install docker-compose 
    docker-compose version

      docker-compose.yml     运行命令 docker-compose up -d

    docker-compose up -d 用 up 启动容器
    -d标志,则以守护进程模式运行服务
    docker-compose up -d --scale spider=8 --scale选项指定服务的个数
    docker-compose ps  列出本地 docker-compose.yml 文件里定义的正在运行的所有服务
    docker-compose logs 个命令会追踪服务的日志文件
    ocker-compose stop 停止所有服务,如果服务没有停止,可以使用docker-compose kill强制杀死服务
    docker-compose rm 删除所有服务
    version: '2' #版本声明
    networks: #网络声明
       ghost: #网络名称
    services: #服务声明
       ghost-app: #服务名称
    restart: always # 重启服务 关机或者重启docker的时候,重启服务 build: ghost # 来源路径用来指定一个包含Dockerfile文件的路径。一般是当前目录. networks: #网络声明
    - ghost #网络名称 depends_on: #指定服务依赖 - db #指定服务依赖 ports: #用于暴露端口 - "2368:2368" nginx: build: nginx networks: - ghost depends_on: - ghost-app ports: - "80:80" db: image: "mysql:5.7.15" #指定镜像tag或者ID networks: - ghost environment: #添加环境变量 MYSQL_ROOT_PASSWORD: mysqlroot MYSQL_USER: ghost MYSQL_PASSWORD: ghost volumes: #挂载数据卷 - $PWD/data:/var/lib/mysql ports: - "3306:3306"

    说明:

      每一个compose 都必须指定 image或者build 中的一个。

      build  用来指定包含dockerfile 文件的路径,   context 路径, args 用于构建过程中,替换dockerfile 文件中定义的ARG参数

    build: ./dir
    build:
      context: ./dir
      dockerfile: Dockerfile-alternate
      args:
        buildno: 1

    从文件中获取环境变量

    env_file: .env
    env_file:
     - ./common.env
     - ./apps/web.env
     - /opt/secrets.env

    links可以链接到docker 服务中,可以给出服务名和别名  同docker run --link

    links:
     - db
     - db:mysql
     - redis

    ports 用于暴露端口,同docker run -p

    ports:
     - "3000"
     - "8000:8000"
     - "49100:22"
     - "127.0.0.1:8001:8001"

    expose提供container之间的端口访问,不会暴露给主机使用。同docker run --expose

    expose:
     - "3000"
     - "8000"
    volumes挂载数据卷。同docker run -v
    volumes:
     - /var/lib/mysql
     - cache/:/tmp/cache
     - ~/configs:/etc/configs/:ro

    挂载数据卷容器,挂载是容器。同docker run --volumes-from

    volumes_from:
     - service_name
     - service_name:ro
     - container:container_name
     - container:container_name:rw

    添加环境变量。同docker run -e。可以是数组或者字典

    environment:
      RACK_ENV: development
      SESSION_SECRET:
    
    environment:
      - RACK_ENV=development
      - SESSION_SECRET

    depends_on 于指定服务依赖,一般是mysql、redis等  指定了依赖,将会优先于服务创建并启动依赖。

    external_links  与links相似   external_links链接的服务与当前服务必须是同一个网络环境

    extra_hosts 添加主机名映射

    extra_hosts:
     - "somehost:162.242.195.82"
     - "otherhost:50.31.209.229"

     

      
    
    
     
     
  • 相关阅读:
    streamsets 集成 cratedb 测试
    streamsets k8s 部署试用
    streamsets rest api 转换 graphql
    StreamSets sdc rpc 测试
    StreamSets 相关文章
    StreamSets 多线程 Pipelines
    StreamSets SDC RPC Pipelines说明
    StreamSets 管理 SDC Edge上的pipeline
    StreamSets 部署 Pipelines 到 SDC Edge
    StreamSets 设计Edge pipeline
  • 原文地址:https://www.cnblogs.com/chengyangyang/p/11658768.html
Copyright © 2011-2022 走看看