docker-compose 编排
常用命令
docker-compose -f my.yaml version 查看docker-compose版本信息
docker-compose -f lnmp.yaml images 列出镜像
docker-compose -f lnmp.yaml images -q 列出镜像ID
docker-compose up -d nginx 构建建启动nignx容器
docker-compose exec nginx bash 登录到nginx容器中
docker-compose -f lnmp.yaml exec nginx env 在容器中运行命令
docker-compose down 删除所有nginx容器,镜像
docker-compose ps 显示所有容器
docker-compose restart nginx 重新启动nginx容器
docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器
docker-compose build nginx 构建镜像 。
docker-compose build --no-cache nginx 不带缓存的构建。
docker-compose logs nginx 查看nginx的日志
docker-compose logs -f nginx 查看nginx的实时日志
docker-compose config -q 验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。
docker-compose events --json nginx 以json的形式输出nginx的docker日志
docker-compose pause nginx 暂停nignx容器
docker-compose unpause nginx 恢复ningx容器
docker-compose rm nginx 删除容器(删除前必须关闭容器)
docker-compose stop nginx 停止nignx容器
docker-compose start nginx 启动nignx容器
docker-compose -f my.yaml scale nginx=2 将nginx容器扩容为两个
docker-compose -f my.yaml top 显示运行进程
docker-compose -f my.yaml top nginx 指定某一个service
目录结构1
luwei@luweideMacBook-Pro-2 docker_lnmp % cd dnsmasq
luwei@luweideMacBook-Pro-2 dnsmasq % ls
build config docker-compose.yaml
luwei@luweideMacBook-Pro-2 dnsmasq % tree
.
├── build
│ └── Dockerfile
├── config
│ ├── dnsmasq.conf
│ └── resolv.dnsmasq
└── docker-compose.yaml
2 directories, 4 files
目录结构2
luwei@luweideMacBook-Pro-2 lnmp % tree
.
├── docker-compose.yaml
├── mysql
│ └── config
│ └── my.cnf
├── nginx
│ ├── config
│ │ ├── conf.d
│ │ │ ├── admarket.conf
│ │ │ ├── admin_admarket.conf
│ │ │ ├── crm_api.conf
│ │ │ ├── crm_file.conf
│ │ │ ├── default.conf.bak
│ │ │ ├── erp-api.conf
│ │ │ ├── ga-api-gtarcade.conf
│ │ │ ├── gstore-api-manag.conf
│ │ │ ├── gstore.gtarcade.conf
│ │ │ ├── micro-api-gtarcade.conf
│ │ │ ├── micro-api-manag-cache.conf
│ │ │ ├── micro-api-manag.conf
│ │ │ ├── micro-sdk-api-manag.conf
│ │ │ ├── public\ static\ $_source_type_map\ =\ [
│ │ │ ├── rt-api-dev.conf
│ │ │ ├── rt-api-test.conf
│ │ │ ├── yjr-api.conf
│ │ │ └── yjr-backend.conf
│ │ ├── enable-cors.conf
│ │ ├── enable-paas-php70.conf
│ │ ├── enable-php56.conf
│ │ ├── enable-php70.conf
│ │ ├── enable-php71.conf
│ │ ├── enable-php72.conf
│ │ └── rewrite
│ │ └── laravel.conf
│ └── logs
├── php56
│ ├── build
│ │ ├── Dockerfile
│ │ └── entrypoint
│ ├── config
│ │ ├── php.ini
│ │ └── www.conf
│ └── logs
├── php71
│ ├── build
│ │ ├── Dockerfile
│ │ └── entrypoint
│ ├── config
│ │ ├── php.ini
│ │ └── www.conf
│ └── logs
├── php72
│ ├── build
│ │ ├── Dockerfile
│ │ ├── entrypoint
│ │ └── wkhtmltox.so
│ ├── config
│ │ ├── php.ini
│ │ └── www.conf
│ └── logs
└── redis
├── config
│ └── redis.conf
└── data
└── appendonly.aof
22 directories, 42 files
luwei@luweideMacBook-Pro-2 lnmp %
进入指定目录
luwei@luweideMacBook-Pro-2 OpenData % cd /Users/myself/vagrant/php/machine/Pro1/docker_lnmp
luwei@luweideMacBook-Pro-2 docker_lnmp % ls
dnsmasq lnmp
luwei@luweideMacBook-Pro-2 docker_lnmp % cd lnmp
luwei@luweideMacBook-Pro-2 lnmp % ls
docker-compose.yaml mysql package.xml php71 redis
mongodb nginx php56 php72 xdebug-3.0.3
luwei@luweideMacBook-Pro-2 lnmp %
启动
需要先打开docker 应用程序,否则下面命令无效
docker-compose up -d --build
//第一次启动的时候会拉取镜像比较慢,失败的几率也比较多,多试几下就好了
//第二次的时候会重启之前的容器
执行细节
luwei@luweideMacBook-Pro-2 lnmp % docker-compose up -d --build
Pulling redis (redis:4-alpine)...
4-alpine: Pulling from library/redis
cbdbe7a5bc2a: Pull complete
dc0373118a0d: Pull complete
cfd369fe6256: Pull complete
152ffd6a3b24: Pull complete
7c01860f13a3: Pull complete
aa6ecacd3bee: Pull complete
Digest: sha256:aaf7c123077a5e45ab2328b5ef7e201b5720616efac498d55e65a7afbb96ae20
Status: Downloaded newer image for redis:4-alpine
Building php56
[+] Building 210.9s (14/14) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.32kB 0.0s
=> [internal] load .dockerignore
启动后的结果
关闭
docker-compose down
本作品采用《CC 协议》,转载必须注明作者和本文链接