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 编排

关闭

docker-compose down
本作品采用《CC 协议》,转载必须注明作者和本文链接
good good study day day up
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!