一、简介

Compose是用于定义和运行多容器Docker应用程序的工具,是docker的服务编排工具,主要应用于构建基于Docker的复杂应用,compose通过一个配置文件来管理多个docker容器,适合组合使用多个容器进行开发的场景。

使用compose,可以使用yaml文件配置应用程序的服务。

然后,通过一个命令,可以从配置中创建和启动所有服务。

官网:https://docs.docker.com/compose/overview/

二、使用

compose适用于所有环境:生产,开发,测试以及CI工作流程。

使用compose基本上是一个三步过程:

1. 用dockerfile,或者镜像定义应用程序的环境,以便在任何地方复制。

2. 在docker-compose.yml中定义组成应用程序的服务,以便它们可以在单独的环境中一起运行。

3. 运行docker compose up启动并运行整个应用程序。

三、安装docker-ce

一、安装docker

1、安装依赖环境

[root@jenkins ~]# yum -y install yum-utils device-mapper-persistent-data  lvm2

2、准备镜像源

[root@jenkins ~]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

3、安装docker-ce

[root@jenkins ~]# yum -y install docker-ce

4.启动docker

[root@docker ~]# systemctl start docker
[root@docker ~]# systemctl enable docker
[root@docker ~]# docker version                     #查看docker版本
5、阿里云镜像加速器
https://account.aliyun.com         #阿里云网站

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

[root@docker ~]# cat <<EOF>/etc/docker/daemon.json
{
  "registry-mirrors": [ "https://你的阿里云镜像加速器.com" ]
}
EOF
[root@docker ~]# systemctl daemon-reload    #重新加载配置 
[root@docker ~]# systemctl restart docker    #重启服务
 
四、安装docker-compose
[root@docker ~]# yum -y install libcurl libcurl-devel
[root@docker ~]# curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-'uname -s'-'uname -m' -o /usr/local/bin/docker-compose
[root@docker ~]# ls
anaconda-ks.cfg         docker-compose 
[root@docker ~]# mv docker-compose /usr/local/bin/
[root@docker ~]# chmod +x /usr/local/bin/docker-compose
[root@docker ~]# docker-compose --version
docker-compose version 1.21.1, build 5a3f1a3
 
五、docker-compose用法
常用选项:
--verbose:输出更多的调试信息
--version:查看compose的版本
-f --file FILE:使用特定的compose模板文件,默认为docker-compose.yml。
-p --project-name NAME 指定项目名称,默认使用目录名称。
常用命令:
build:构建或重建服务
ps:查看已经启动的服务状态       
kill:停止某个服务、杀掉容器       
logs:可以查看某个服务的log、显示容器的输出内容       
port:打印绑定的public port(开放端口)        
pull:拉取服务镜像      
up:启动yml定义的所有服务     
stop:停止yml中定义的所有服务       
start:启动被停止的yml中的所有服务        
kill:强行停止yml中定义的所有服务        
rm:删除yml中定义的所有服务      
restart:重启yml中定义的所有服务        
scale:设置服务的容器数目
run:运行一个一次性命令
 
 YAML简介
        Yaml简介.YAML是一种标记语言,可读性很强。类似于XML数据描述语言,语法比XML简单的多。YAML数据结构通过缩进来表示,连续的项目通过减号来表示,键值对用冒号分割,数组用括号括起来, hash用花括号括起来。
YAML文件格式注意事项:
在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过不能使用TAB字符);
通常开头缩进2个空格;字符的后面缩进1个空格,比如冒号、逗号、横杆;
支持#注释;
允许在文件中加入选择性的空行,以增加可读性;
docker-compose中YAML常用的字段:

字段

描述

build

dockerfile

context

指定dockerfile文件名

构建镜像上下文路径

image 指定镜像
command 执行命令,覆盖默认命令
container_name 指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale
deploy  指定部署和运行服务相关配置,只能在Swarm模式使用
environment 添加环境变量
networks 加入网络,引用顶级networks下条目
ports 暴漏端口,与-p相同,但端口不能低于60
volumes 挂载宿主机路径或命名卷在顶级volumes定义卷名称
restart 重启策略,默认no,always|on-failurel|unless-stopped
hostname 容器主机名
 
 

docker-compose简介及安装的更多相关文章

  1. Docker Compose 简介

    Compose 是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用.使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建 ...

  2. 25.docker compose 简介 和 docker-compose.yml 参数介绍

    1. docker compose概念 文档  https://docs.docker.com/compose/compose-file/compose-versioning 一个基于 docker ...

  3. docker compose线下安装

    Compose 是一个用户定义和运行多个容器的 Docker 应用程序.在 Compose 中你可以使用 YAML 文件来配置你的应用服务.然后,只需要一个简单的命令,就可以创建并启动你配置的所有服务 ...

  4. docker和docker compose安装使用、入门进阶案例

    一.前言 现在可谓是容器化的时代,云原生的袭来,导致go的崛起,作为一名java开发,现在慌得一批.作为知识储备,小编也是一直学关于docker的东西,还有一些持续继承jenkins. 提到docke ...

  5. Docker 核心技术之Docker Compose

    Docker Compose 简介 Docker Compose是什么? Docker Compose是一个能一次性定义和管理多个Docker容器的工具. 详细地说: Compose中定义和启动的每一 ...

  6. Docker Compose 之进阶篇

    笔者在前文<Docker Compose 简介>和<Dcoker Compose 原理>两篇文章中分别介绍了 docker compose 的基本概念以及实现原理.本文我们将继 ...

  7. 通过 Docker Compose 组合 ASP NET Core 和 SQL Server

    目录 Docker Compose 简介 安装 WebApi 项目 创建项目 编写Dockfile Web MVC 项目 创建项目 编写Dockfile 编写 docker-compose.yml文件 ...

  8. 1.Docker Compose

    一.Docker Compose 简介 概述 Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排.从功能上看,跟 OpenStack 中的 Heat 十 ...

  9. Docker & ASP.NET Core (5):Docker Compose

    第一篇:把代码连接到容器 第二篇:定制Docker镜像 第三篇:发布镜像 第四篇:容器间的连接 Docker Compose简介 Compose是一个用来定义和运行多容器Docker应用的工具.使用C ...

  10. Docker Compose 原理

    Docker 的优势非常明显,尤其是对于开发者来说,它提供了一种全新的软件发布机制.也就是说使用 docker 镜像作为软件产品的载体,使用 docker 容器提供独立的软件运行上下文环境,使用 do ...

随机推荐

  1. E - 不爱学习的lyb HDU - 1789(贪心策略)

    众所周知lyb根本不学习.但是期末到了,平时不写作业的他现在有很多作业要做. CUC的老师很严格,每个老师都会给他一个DDL(deadline). 如果lyb在DDL后交作业,老师就会扣他的分. 现在 ...

  2. G - 土耳其冰淇凌 Gym - 101194D(二分答案 + 贪心检验)

    熊猫先生非常喜欢冰淇淋,尤其是冰淇淋塔.一个冰淇淋塔由K个冰淇淋球堆叠成一个塔.为了使塔稳定,下面的冰淇淋球至少要有它上面的两倍大.换句话说,如果冰淇淋球从上到下的尺寸是A0, A1, A2,···, ...

  3. P1343 地震逃生(最大流板题)

    P1343 地震逃生 题目描述 汶川地震发生时,四川**中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有n个点,m条边.1号点为教室,n号点为安全地带, ...

  4. 《Java基础复习》—规范与基础

    参考书目<Java 编程思想>所以大家放心食用 一.注释规范以及API文档 1.注释 1.1三种注释方法 //注释内容 单行注释 /* 注释内容 */ 多行注释 /**注释内容*/ 文档注 ...

  5. python:*args和**kwargs的用法

    1.*args用来将参数打包成tuple给函数体调用 代码: # *args用来将参数打包成tuple给函数体调用 def func(*args): print(args,type(args)) fu ...

  6. codeblocks 的安装与初体验

    下载 链接 安装  点击默认安装即可! 配置 自带编译器还报错!! 大多数自带编译器的codeblocks安装后无法找到编译器的解决方案 点击Settings->Compiler,找到Toolc ...

  7. MyBatis(九):动态SQL

    本文是按照狂神说的教学视频学习的笔记,强力推荐,教学深入浅出一遍就懂!b站搜索狂神说或点击下面链接 https://space.bilibili.com/95256449?spm_id_from=33 ...

  8. 多级分销概念 MongoDB||MySQL

    1.背景 购物软件中提供推荐注册返利机制,A->B,A->C,B->D,B->E.被邀请人只有一对一的上级,上级对下级是一对多,用户可以一直邀请用户. 2.实现方法 2.1.M ...

  9. MySQL入门,第三部分,学会添加删除数据库

    一.建立数据库 create database [if not exists] database_name [create_specification] 注意: 1.if not exists === ...

  10. Linux 磁盘管理篇(一 磁盘分区)

    显示系统所有分区内容            fdisk 分区工具                parted fdisk: 执行完后按下 q 是退出不保存操作的意思 执行完后按下 w 是执行操作的意思 ...