[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