docker-compose 容器编排

2020-06-23  本文已影响0人  booker丶

docker-compose是docker编排工具,用于管理docker容器,在如今的微服务时代,一个项目会存在多个服务,使用docker一个个部署操作的话就会很麻烦,如果使用docker编排工具一键部署,统一管理就会便捷很多,同时也提高了开发,运维效率
本文以nginx及.net core项目为例,实验docker-compose容器编排

一、概念

1.什么是容器编排

容器编排即是在docker客户端与docker服务器之前加入一个容器编排,通过容器编排的操作一次执行便可将整个微服务系统一键全部的部署在docker容器

image.png
2.services概念

在docker-compose配置中,需要通过services配置镜像和容器,即services为多个镜像和容器的集合,可以用数组或字典两种方式

image.png
3.yml配置属性说明

yml文件配置参考地址:https://www.runoob.com/w3cnote/yaml-intro.html
核心配置:

version #指定compose版本 最好是3.0以上版本 目前最新是3.8版本
services #配置容器[容器列表]
    nginx: #配置容器标识(唯一编号)
       image: #配置容器镜像
       ports: #配置容器映射端口号[数组]
       networks: #配置容器网络[数组]
networks #网络指定配置
    nginx-rmcore: #配置网络名称
        external: true #网络自定义
volumes #数据挂载配置
extensions #扩展配置
        

二、容器编排

1.安装docker-compose
下载地址

curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

设置compose权限

chmod +x /usr/local/bin/docker-compose

验证是否安装成功,能正常看到版本号即安装成功

docker-compose --version

2.编写yml配置
ps:需要注意每个配置 :后面需要空一格 ,否则解析不了

version: '3'
services:
  dockerdemo:
    build: dockerDemo  #这里没有镜像所以build构建镜像
    ports:
      - 8080:80
      - 8081:443
  nginxdemo:
    build: nginx
    ports:
      - 5000:80

ps:由于nginx手动启动比较麻烦,这里分享一下使用脚本命令启动^ _ ^
nginx脚本配置

#!/bin/sh
/usr/local/nginx/sbin/nginx
/bin/bash -c 'while true; do sleep 200; done'

dockerfile配置

FROM centos
RUN yum -y install gcc make pcre-devel zlib-devel tar zlib
WORKDIR /nginx
COPY nginx-1.15.2.tar.gz /nginx
RUN tar -zxvf  nginx-1.15.2.tar.gz
RUN cd nginx-1.15.2 && ./configure && make && make install
EXPOSE 80
#将脚本拷贝到容器目录
COPY nginx.sh /nginx.sh
#设置最大权限
RUN chmod 755 /nginx.sh
#运行脚本
CMD ["/nginx.sh"]

3.构建并启动容器
输入下面命令构建启动容器

docker-compose up -d

构建并启动完成

image.png

访问结果:

image.png image.png
反向代理可参考:docker nginx反向代理

docker-compose使用命令

build              构建或重新构建容器服务
bundle             从compose文件生成一个Docker包
config             验证并查看compose文件
create             创建容器服务
down               停止并删除容器、网络、映像和卷
events             从容器接收实时事件
exec               在正在运行的容器中执行命令
help               帮助命令
images             镜像列表
kill               杀死容器
logs               查看容器的日志
pause              暂停容器服务
port               输出端口号
ps                 容器列表
pull               下载容器服务镜像
push               上传容器服务镜像
restart            容器服务重新开始
rm                 删除停止的容器
run                运行一次性命令
scale              设置服务的容器数量
start              开始容器服务
stop               停止容器服务
top                显示正在运行的进程
unpause            暂停容器服务
up                 创建并启动容器
version            显示Docker-Compose版本信息
上一篇 下一篇

猜你喜欢

热点阅读