栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker compose容器编排( •̀ ω •́ )✧

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker compose容器编排( •̀ ω •́ )✧

Docker compose容器编排

文章目录

Docker compose容器编排

compose简介

compose是啥?什么是YML文件?Docker compose的应用环境:安装 compose

Docker compose配置常用字段:Docker compose常用命令: 部署Docker-compose

1、准备依赖文件2、准备站点页面3、配置Docker-compose.yml文件4、启动docker-compose ,生成镜像容器;5、测试访问

compose简介 compose是啥?

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例,Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡。

Compose 使用的三个步骤:

使用 Dockerfile 定义应用程序的环境。使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。最后,执行 docker-compose up 命令来启动并运行整个应用程序。 什么是YML文件?

YAML是一种标记语言很直观的数据序列化格式,非常适合用来表达或者编辑数据结构、各种配置文件、文件大纲等,例如:许多电子邮件标题格式和YAML非常接近。

文件格式以及编写注意事项:

大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格缩进,使用缩进表示层级关系通常开头缩进2个空格,缩进的空格数不重要,只要相同层级的元素左对齐即可字符后缩进一个空格,如冒号、逗号、横杆用#号注释如果包含特殊字符用单引号引起来布尔值必须用引号括起

docker-compose.yml 的配置案列如下:

# yaml 配置实例
version: '3'    #版本
services:       #服务
  web:
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/code
      - logvolume01:/var/log
    links:
      - redis
  redis:
    image: redis
volumes:          #其他配置(如:挂载,网络,)
  logvolume01: {}
Docker compose的应用环境:

使用一个Dockerfile模板文件,可以让用户很方便的定义一个单独的应用容器。在工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个Web项目,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器为一个项目(project)。Docker-Compose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API,就可以在其上利用Compose来进行编排管理。 安装 compose

在使用Docker compose之前我们一定要先有docker 引擎,就是有docker 环境;

Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。

运行以下命令以下载 Docker Compose 的当前稳定版本:

curl -L "https://github.com/docker/compose/releases/download/1.21.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#或者这个
curl -L https://github.com/docker/compose/releases/download/1.24.0-rc3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#给与可执行权限
chmod +x /usr/local/bin/docker-compose
#创建软连接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
#测试是否安装成功
docker-compose --version
Docker compose配置常用字段:
字段描述
build dockerfile context指定Dockerfile文件名构建镜像上下文路径
image指定镜像
command执行命令,覆盖默认命令
container name指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale
deploy指定部署和运行服务相关配置,只能在swarm模式适用
environment添加环境变量
networks添加网络
ports暴露容器端口,与-p相同,但端口不能低于60
volumes挂载宿主机路径或命令卷
restart重启策略,默认no,always,no-failure,unless-stoped
hostname容器主机名
Docker compose常用命令:

基本的命令格式:

docker-compose [选项] [命令] [参数]

字段解释
build重新构建服务
ps列出容器
up创建和启动容器
exec在容器里面执行命令
scale指定一个服务容器启动数量
top显示容器进程
logs查看容器输出
down删除容器,网络,数据卷,镜像
stop/start/restart停止/启动/重启服务
部署Docker-compose 1、准备依赖文件

#到opt目录下创建文件夹
cd /opt
mkdir compose
cd compose
mkdir nginx
cd nginx
#导入nginx源码包
vim Dockerfile
FROM centos:7
RUN yum -y update
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make
RUN useradd -M -s /sbin/nologin nginx
ADD nginx-1.12.2.tar.gz /usr/local/src
WORKDIR /usr/local/src/nginx-1.12.2
RUN ./configure 
--prefix=/usr/local/nginx 
--user=nginx 
--group=nginx 
--with-http_stub_status_module && make && make install
ENV PATH /usr/local/nginx/sbin:$PATH
VOLUME ["/usr/local/nginx/html"]
EXPOSE 80
RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf
CMD nginx
2、准备站点页面
cd /opt/compose
mkdir www
vim www/index.html
this is nginx test web!
3、配置Docker-compose.yml文件
cd /opt/compose
vim docker-compose.yml
ersion: "3"
services:
  nginx:
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
      - 1216:80
      - 1217:443
    networks:
      - mynginx
    volumes:
      - ./wwwroot:/usr/local/nginx/html
networks:
  mynginx:
4、启动docker-compose ,生成镜像容器;
docker-compose up -d
#查看服务容器
docker-compose ps

5、测试访问

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/725680.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号