[toc]php
下載的文件放在/usr/local/bin/下方便啓動使用html
curl -L https://github.com/docker/compose/releases/download/1.17.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod 755 !$ docker-compose version 查看版本信息
[root@xavi ~]# docker-compose version -bash: /usr/local/bin/docker-compose: 權限不夠 [root@xavi ~]# chmod 777 /usr/local/bin/docker-compose [root@xavi ~]# docker-compose version docker-compose version 1.17.0-rc1, build a0f95af docker-py version: 2.5.1 CPython version: 2.7.13 OpenSSL version: OpenSSL 1.0.1t 3 May 2016
[root@xavi ~]# vim docker-compose.yml version: "2" services: app1: image: centos6_x64 ports: - "8080:80" networks: - "net1" volumes: //數據卷 - /data/:/data app2: image: centos_nginx_n networks: - "net2" volumes: - /data/:/data1 entrypoint: tail -f /etc/passwd networks: net1: driver: bridge net2: driver: bridge
詳解:mysql
version: "2" //使用2版本 services: //相關容器或者鏡像操做 app1: //app1對應的是容器1的信息 image: centos //images的名字,必須是已經存在的鏡像 ports: //映射端口 - "8080:80" //映射宿主機8080對應容器的80端口 networks: //網絡(默認是bridge模式) - "net1" //下面定義的net1(要是須要使用pipwork怎麼辦? 定義none便可) volumes: //-v的參數指定 - /data/:/data //目錄映射,本地的data目錄和容器的目錄映射 app2: //定義第2個容器信息 image: centos_nginx //docker images中已經存在的images networks: - "net2" volumes: - /data/:/data1 entrypoint: tail -f /etc/passwd //仍是老問題BUG 爲了避免讓執行後關閉,咱們使用這條命令 networks: net1: //如上定義的 driver: bridge //定義網絡模式 net2: driver: bridge
檢查測試:啓動容器linux
[root@xavi ~]# docker-compose up -d Creating network "root_net2" with driver "bridge" Creating network "root_net1" with driver "bridge" Pulling app2 (centos_nginx_n:latest)... ERROR: pull access denied for centos_nginx_n, repository does not exist or may require 'docker login'
報錯,鏡像不存在,修改元編輯文件nginx
[root@xavi ~]# docker-compose up -d Creating root_app2_1 ... Creating root_app1_1 ... Creating root_app2_1 Creating root_app1_1 ... done
docker-compose --help
關於docker-compose語法的參考文檔 http://www.web3.xin/index/article/182.htmlgit
[root@xavi ~]# docker-compose ps Name Command State Ports --------------------------------------------------- root_app1_1 /bin/bash Exit 0 root_app2_1 tail -f /etc/passwd Up 80/tcp
定義一個docker compose 管理器,也就是編輯yml文件,
能夠把LNMP的服務nginx,php,mysql分三個容器出來,github
nginx下的links:作了別名,方便訪問phpweb