本文共 2890 字,大约阅读时间需要 9 分钟。
[toc]
下载的文件放在/usr/local/bin/下方便启动使用
curl -L https://github.com/docker/compose/releases/download/1.17.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-composechmod 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 versiondocker-compose version 1.17.0-rc1, build a0f95afdocker-py version: 2.5.1CPython version: 2.7.13OpenSSL version: OpenSSL 1.0.1t 3 May 2016
[root@xavi ~]# vim docker-compose.ymlversion: "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/passwdnetworks: net1: driver: bridge net2: driver: bridge
详解:
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
检查测试:启动容器
[root@xavi ~]# docker-compose up -dCreating 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'
报错,镜像不存在,修改元编辑文件
[root@xavi ~]# docker-compose up -dCreating root_app2_1 ... Creating root_app1_1 ... Creating root_app2_1Creating root_app1_1 ... done
docker-compose --help
关于docker-compose语法的参考文档
[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分三个容器出来,nginx下的links:做了别名,方便访问php
转载于:https://blog.51cto.com/12995218/2140503