• 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"

     

      
    
    
     
     
  • 相关阅读:
    超级管理员登录后如果连续XX分钟没有操作再次操作需要重新登录
    linux下连接本地的navicate
    linux 日常中会用到的命令(持续更新)
    关于PHP的 PHP-FPM进程CPU 100%的一些原因分析和解决方案
    VMware Workstation 14 激活码
    破解phpstorm
    redis五种数据类型的使用场景
    关于Nginx负载均衡的6种策略
    PHP和PHP-FPM 配置文件优化
    redis配置文件详解
  • 原文地址:https://www.cnblogs.com/chengyangyang/p/11658768.html
Copyright © 2020-2023  润新知