Docker compose 编排工具详解

Docker Compose

Docker Compose是一个定义及运行多个Docker容器的工具,通过 Compose,无需用shell脚本来启动容器,而使用 YAML 文件来配置应用程序需要的所有服务,然后使用命令,根据 YAML 的文件配置创建并启动所有服务,非常适合于多个容器进行开发的场景。

Compose非常适合开发,测试和登台环境以及CI工作流程。

YAML

YAML是一个可读性高,用来表达数据序列化的格式

相关命令及格式

version:指定此yml文件基于的compase的版本
services:指定创建容器的服务选项
	服务名:例如nginx等
		hostname:容器主机名
		build :指定构建镜像上下文路径
			context:上下文路径
			dockerfile:指定构建镜像的 Dockerfile 文件名
		ports:暴露容器端口,与-p相同,但端口不能低于60;例如:- 1234:80
		networks:加入顶级networks下配置的网络
		deploy:指定部署和运行服务相关配置,只能在Swarm模式使用
		volumes:挂载宿主机路径或命令卷
	image:指定容器运行的镜像
	command:执行命令,覆盖默认命令
	container_name:指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法
scale(扩展)
	environment:添加环境变量
	restart:重启策略,定义是否重启容器;no(默认,不重启),always(总是重启),
no-failure(退出状态非0时重启),unless-stoped(容器退出时,忽略守护进程启动前停止
的容器)
networks:配置网络,指定网卡设备等

Compose命令

基本使用格式
docker-compose [options] [COMMAND][ARGS...]

选项
--verbose:输出更多调试信息
--version:打印版本并退出
-f,--file FILE:使用特定的compose模板文件,默认为docker-compose.yml
-p, --project-name NAME:指定项目名称,默认使用目录名称

常用命令
build	重新构建服务
ps		列出容器
up		创建和启动容器
exec	在容器里面执行命令
scale	指定一个服务容器启动数量
top		显示正在运行的容器进程
logs	查看服务容器的输出
down	删除容器、网络、数据卷和镜像
stop/start/restart	停止/启动/重启服务

Compose安装

#环境部署所有主机安装docker环境(内容为docker基础)
yum install docker-ce -y

#下载compose,可通过curl直接链接下载,或在外下载好后拖进linux
crul ......

#赋予docker compose执行权限
cp -p docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose

mkdir /root/compose_nginx

#使用compose编排创建容器
#编写yml文件
vim /root/compose_nginx/docker-compose.yml
version: '3'
services:
  nginx:
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
     - 1216:80
     - 1217:443
    networks:
     - cluster
    volumes:
     - ./wwwroot:/usr/local/nginx/html
networks:
  cluster:

#放入相关文件
mkdir nginx
mkdir wwwroot
echo "this is nginx" > wwwroot/index.html

#执行yml文件创建容器
docker-compose -f docker-compose.yml up -d

到此这篇关于Docker compose 编排工具详解的文章就介绍到这了,更多相关Docker compose 编排工具内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker系列之使用Docker Compose编排容器

    1. 前言 Docker Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器. 使用Compose 基本上分为三步: 1.Dockerfile 定义应用的运行环境 2.docker-compose.yml 定义组成应用的各服务 3.docker-compose up 启动整个应用 2. 安装Compose 直接从github下载即可,前提要先安装Docker,版本要1.9.1以上 Note that Compose 1.8.0 requires

  • Docker.v19安装和配置Docker Compose编排工具的方法

    一.Compose简介 Compose是用于定义和运行多容器Docker应用程序的工具.通过Compose,可以使用YAML文件来配置应用程序的服务.然后,使用一个命令,就可以从配置中创建并启动所有服务. Docker-Compose是一个容器编排工具.通过一个.yml或.yaml文件,将所有的容器的部署方法.文件映射.容器端口映射等情况写在一个配置文件里,执行docker-compose up命令就像执行脚本一样,一个一个的安装并部署容器. YAML文件基本语法: 大小写敏感: 使用缩进表示层

  • 详解Docker之Compose服务编排

    Compose是Docker的服务编排工具,主要用来构建基于Docker的复杂应用,Compose 通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景. 说明:Compose是Fig的升级版,Fig已经不再维护.Compose向下兼容Fig,所有fig.yml只需要更名为docker-compose.yml即可被Compose使用. 服务编排工具使得Docker应用管理更为方便快捷. Compose网站:https://docs.docker.com/compos

  • Docker 容器编排利器Compose(起步篇)

    一个大型的Docker组成的微服务应用中,容器的数量是非常庞大的,如果依赖传统的人工配置方式进行维护,对于开发和运维来说简直就是噩梦.Compose的出现正是为了解决这个问题. Compose简介 Compose的前身是Fig,Fig被Docker收购之后正式更名为Compose,Compose向下兼容Fig.Compose是一个用于定义和运行多容器Docker应用的工具,只需要一个Compose的配置文件和一个简单的命令就可以创建并运行应用所需的所有容器.在配置文件中,所有容器通过servic

  • 使用Docker compose编排Laravel应用的方法

    前言 Laravel官方开发环境推荐的是Homestead(其实就是一个封装好的Vagrant box),我感觉这个比较重,于是自己用Docker compose编排了一套开发环境,在这里分享下. 环境要求 先要安装好Docker 和 Docker compose,而且Docker 仓库镜像最好换成国内的.一般地,我开发电脑上会运行一个Vagrant,然后再在里面运行Docker等应用. 主要思路 Docker官方推荐的是一个容器运行一个服务,所以会有Compose编排,各个服务间通过容器互联技

  • Docker compose 编排工具详解

    Docker Compose Docker Compose是一个定义及运行多个Docker容器的工具,通过 Compose,无需用shell脚本来启动容器,而使用 YAML 文件来配置应用程序需要的所有服务,然后使用命令,根据 YAML 的文件配置创建并启动所有服务,非常适合于多个容器进行开发的场景. Compose非常适合开发,测试和登台环境以及CI工作流程. YAML YAML是一个可读性高,用来表达数据序列化的格式 相关命令及格式 version:指定此yml文件基于的compase的版本

  • Docker Compose 网络设置详解

    基本概念 默认情况下,Compose会为我们的应用创建一个网络,服务的每个容器都会加入该网络中.这样,容器就可被该网络中的其他容器访问,不仅如此,该容器还能以服务名称作为hostname被其他容器访问. 默认情况下,应用程序的网络名称基于Compose的工程名称,而项目名称基于docker-compose.yml所在目录的名称.如需修改工程名称,可使用--project-name标识或COMPOSE_PORJECT_NAME环境变量. 举个例子,假如一个应用程序在名为myapp的目录中,并且do

  • Docker Compose常用命令详解

    1.Docker compose的使用非常类似于docker命令的使用,但是需要注意的是大部分的compose命令都需要到docker-compose.yml文件所在的目录下才能执行. 2.compose以守护进程模式运行加-d选项 $ docker-compose up -d 3.查看有哪些服务,使用docker-compose ps命令,非常类似于 docker 的ps命令 4.查看compose日志 $ docker-compose logs web $ docker-compose lo

  • docker+gitlab+gitlab-runner部署详解

    环境 服务端:centos7 客户端:window 在centos7上部署docker+gitlab+gitlab-runner,win10利用ssh连接,开发人员只需提交代码,就可以进行项目文件上传,打包镜像,发布运行测试 一.centos7上安装docker和docker-compose 安装docker: 1.Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过uname -r命令查看你当前的内核

  • Docker Swarm入门实例详解

    Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令.目前,Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具.它可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成跨主机的子网网络. 1. Swarm 认识 Swarm 是目前 Docker 官方唯一指定(绑定)的集群管理工具.Docker 1.

  • Spring Cloud中使用jib进行docker部署的步骤详解

    Jib介绍 Jib 是 Google 开发的可以直接构建 Java 应用的 Docker 和 OCI 镜像的类库,以 Maven 和 Gradle 插件形式提供. 通过 Jib,Java 开发者可以使用他们熟悉的 Java 工具来构建容器.Jib 是一个快速而简单的容器镜像构建工具,它负责处理将应用程序打包到容器镜像中所需的所有步骤.它不需要你编写 Dockerfile 或安装 Docker,而且可以直接集成到 Maven 和 Gradle中 -- 只需要将插件添加到构建中,就可以立即将 Jav

  • docker之docker-machine用法详解

    docker-machine 是docker官方提供的docker管理工具. 通过docker-machine可以轻松的做到: 在Windows平台和MAC平台安装和运行docker 搭建和管理多个docker 主机 搭建swarm集群 环境win下面安装的virtualbox,virtualbox安装的centos7,网络模式NAT+hostonly ip:192.168.56.102(hostonly) 1.安装docker-machine: curl -L https://github.c

  • Python之py2exe打包工具详解

    下载Python对应版本的py2exe,使用这个工具可以将自己的程序打包成exe文件. 使用这个工具需要写一个用于打包的setup.py文件(名称可以自己定,不一定是setup.py),写好后在命令提示符界面cd到这个文件的目录,执行命令"python setup.py py2exe"即可打包完成. 下面是自己参考其他网友写的,可供参考: # _*_ coding: utf-8 _*_ import py2exe from distutils.core import setup inc

随机推荐