美文网首页
Docker 体验及总结(5) - Compose

Docker 体验及总结(5) - Compose

作者: 千反田爱瑠爱好者 | 来源:发表于2018-08-22 11:21 被阅读22次
https://www.docker.com/

Docker Compose

方便本地部署开发环境,但不适用于生产环境。

多容器App:

  • 要从Dockerfile build image或者DockerHub拉取image
  • 要创建多个Container
  • 要管理多个Container

使用Docker Compose实现批处理:

  • 通过yml配置文件定义多容器docker应用
  • 通过一条命令就可以根据yml文件定义创建或者管理容器

Linux环境下需要单独安装:https://docs.docker.com/compose/install/#install-compose

示例:docker-compose.yml

vim docker-compose.yml
    version: '3'
    
    services:
    
      wordpress:
        image: wordpress
        ports:
          - 8080:80
        environment:
          WORDPRESS_DB_HOST: mysql
          WORDPRESS_DB_PASSWORD: root
        networks:
          - my-bridge
    
      mysql:
        image: mysql
        environment:
          MYSQL_ROOT_PASSWORD: root
          MYSQL_DATABASE: wordpress
        volumes:
          - mysql-data:/var/lib/mysql
        networks:
          - my-bridge
    
    volumes:
      mysql-data:
    
    networks:
      my-bridge:
        driver: bridge
        
docker-compose build        # 先建立Images,提高启动速度
docker-compose up           # 调试模式,-d后台执行

常用命令

docker-compose --version
docker-compose -f docker-compose.yml up
docker-compose down                 # 删除容器
docler-compose stop
docker-compose start
docker-compose ps
docker-compose images
docker-compose exec xxx bash        # 在docker中执行命令,注意docker-compose下dodker的名称与docker本身的名称不同

Service

  • 一个service代表一个Container,可以从DockerHub或者从本地Dockerfile build出来的image创建;
  • Service的启动类似Docker run,可以给其指定network和volumn。

Scale

  • 扩展App实例,结合HAProxy、Nginx可实现负载均衡(当yml文件中指定了服务的端口时会因端口已占用报错);
  • 不能部署在多台宿主机上。
docker-compose up --scale service_name=3 -d

示例:

version: "3"

services:

  redis:
    image: redis

  web:
    build:
      context: .
      dockerfile: Dockerfile
    environment:
      REDIS_HOST: redis

  lb:
    image: dockercloud/haproxy
    links:
      - web
    ports:
      - 8080:80
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock 

相关文章

网友评论

      本文标题:Docker 体验及总结(5) - Compose

      本文链接:https://www.haomeiwen.com/subject/teveiftx.html