zoukankan      html  css  js  c++  java
  • docker学习(7) docker-compose使用示例

    上一回学习了如何利用docker搭建一个mysql + java service + nginx,总共4个docker容器,如果采用docker run的方式一个一个容器去创建十分麻烦。为了能更高效的批量创建容器,docker推出了docker-compose工具,只需要定义一个docker-compose.yml文件即可快速搞定一组容器的创建,仍然以上一回的例子演示:

    mysql:
      image: daocloud.io/yjmyzz/mysql-osx:latest
      volumes:
          - ./mysql/db:/var/lib/mysql
      ports:
          - 3306:3306
      environment:
          - MYSQL_ROOT_PASSWORD=123456
    
    service1:
      image: java:latest
      volumes:
          - ./java:/opt/app
      expose:
          - 8080
      #ports:
      #    - 9081:8080
      links:
          - mysql:default
      command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar
    
    service2:
      image: java:latest
      volumes:
          - ./java:/opt/app
      expose:
          - 8080
      #ports:
      #    - 9082:8080
      links:
          - mysql:default
      command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar
    
    nginx1:
       image: nginx:latest
       volumes:
          - ./nginx/html:/usr/share/nginx/html:ro
          - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
          - ./nginx/conf.d:/etc/nginx/conf.d:ro
       #expose:
       #   - 80
       ports:
          - "80:80"
       links:
          - service1:service1
          - service2:service2
    

    内容不复杂,具体的关键字说明见本文最后的参考文章链接。

    问题:这个文件放在哪里?

    参见下面的目录结构:

    mysql-java-nginx
    ├── docker-compose.yml
    ├── java
    │   └── spring-boot-rest-framework-1.0.0.jar
    ├── mysql
    │   └── db
    └── nginx
        ├── conf
        ├── conf.d
        │   └── default.conf
        ├── html
        │   └── index.html
        └── nginx.conf
    

    创建容器:

    cd mysql-java-nginx
    docker-compose up
    

    就是这么简单,一个up就搞定了所有容器的创建,up通常用于首次创建,可以观察终端实时输出的日志内容判断容器是否启动正常,如果没什么问题,直接Ctrl+C退出,然后

    docker-compose start
    

    以后台方式启动容器。  

    其它命令还有:

    Commands:
      build              Build or rebuild services
      help               Get help on a command
      kill               Kill containers
      logs               View output from containers
      pause              Pause services
      port               Print the public port for a port binding
      ps                 List containers
      pull               Pulls service images
      restart            Restart services
      rm                 Remove stopped containers
      run                Run a one-off command
      scale              Set number of containers for a service
      start              Start services
      stop               Stop services
      unpause            Unpause services
      up                 Create and start containers
      migrate-to-labels  Recreate containers to add labels
      version            Show the Docker-Compose version information
    

    基本上看名字就知道意思了。  

      

    参考文章:

    https://docs.docker.com/compose/compose-file/

  • 相关阅读:
    微信小程序HTTPS
    微信商城-1简介
    va_list
    Event log c++ sample.
    EVENT LOGGING
    Analyze Program Runtime Stack
    unknow table alarmtemp error when drop database (mysql)
    This application has request the Runtime to terminate it in an unusual way.
    How to check if Visual Studio 2005 SP1 is installed
    SetUnhandledExceptionFilter
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/docker-compose-sample.html
Copyright © 2011-2022 走看看