前言
上篇文章使用docker搭建nginx服务,启动nginx容器是用shell命令,很不方便。容器删除后又容易忘记命令,接下来我用dokcer-compose容器编排技术来·管理nginx服务。
简介
Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。
Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。
安装镜像
下载docker-compose二进制文件安装
curl -L https://github.com/docker/compose/releases/download/1.23.2/run.sh > /usr/local/bin/docker-compose
添加可执行权限
chmod +x /usr/local/bin/docker-compose
// 查看版本
docker-compose version
复制代码
创建docker-compose.yml 文件
services:
nginx:
container_name: nginx
image: nginx
restart: always
ports:
- 80:80
volumes:
- /home/docker-nginx/nginx.conf:/etc/nginx/nginx.conf
- /home/www:/home/www
- /home/docker-nginx/log:/var/log/nginx
- /home/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
- /home/docker-nginx/html:/usr/share/nginx/html
复制代码
container_name: 容器名称
image: 镜像
ports: 端口
volumes: 路径映射
启动
- 把docker-compose.yml上传至/home/docker 文件夹
- 进入到/home/docker 文件夹中
cd /home/docker
复制代码
- 启动docker-compose
docker-compose up -d nginx
复制代码
docker-compose 常用命令
docker-compose exec nginx bash 登录到nginx容器中
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 编排容器的简单实现,实际生产应用中会一次启动多个容器。但这还不够简单,我想用鼠标点点点就能实现容器管理,终于我找到了portainer,下次我实现一下用portainer来可视化管理docker。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END