文章出處

上一回學習了如何利用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/


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()