用docker-compose 管理nginx

前言

上篇文章使用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: 路径映射

启动

  1. 把docker-compose.yml上传至/home/docker 文件夹
  2. 进入到/home/docker 文件夹中
cd /home/docker
复制代码
  1. 启动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
喜欢就支持一下吧
点赞0 分享