博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker第八篇-docker-compose教程(介绍,安装,入门示例)
阅读量:4163 次
发布时间:2019-05-26

本文共 2286 字,大约阅读时间需要 7 分钟。

文章目录

docker-compose介绍

Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。

Compose 定位是:定义和运行多个 Docker 容器的应用。
我们知道使用一个 Dockerfile 模板文件,可以让用户很方便的定 义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某 项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后 端的数据库服务容器,甚至还包括负载均衡容器等。 Compose 恰好满足了这样的需求。它允许用户通过一个单独的 docker-compose.yml 模板文件 (YAML 格式)来定义一组相关联的应用容器为一个项目(project)。
有了Compose,我们就不需要再一个个组件去写一份Dockerfile,只需要将整体环境同一起来,写在一份docker-compose.yml文件即可


Compose 中有两个重要的概念:

  • 服务 ( service ):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
  • 项目 ( project ):由一组关联的应用容器组成的一个完整业务单元,在 dockercompose.yml 文件中定义。

docker-compose安装

docker-compose在github上开源,地址为:

compose的yml文件版本和docker版本对应关系如下:
在这里插入图片描述

安装docker(已安装最新的请忽略此步骤)

老版本的Docker包叫做docker或者docker-engine,如果安装了老版本的docker得先卸载然后再安装新版本的docker。docker的发展非常迅速,apt源的更新往往比较滞后。所以docker官网推荐的安装方式都是下载docker安装脚本安装。

卸载老旧的版本(若未安装过可省略此步骤):

apt-get remove docker docker-engine docker.io

安装最新的docker

curl -fsSL get.docker.com -o get-docker.shsh get-docker.sh

确认安装成功

docker run hello-world

安装的docker版本号如下:

在这里插入图片描述

docker-compose安装与卸载

方式一:从github上下载进行安装(常用

这里请注意docker和docker-compose对应关系

curl -L https://github.com/docker/compose/releases/download/1.23.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose#添加可执行权限chmod +x /usr/local/bin/docker-compose#查看安装版本docker-compose version

方式二:使用pip安装

#安装pipyum -y install epel-releaseyum -y install python-pip#确认版本pip --version#更新pippip install --upgrade pip#安装docker-composepip install docker-compose #查看版本docker-compose version

卸载方式:

#如果是github下载方式安装的,删除二进制文件即可。rm /usr/local/bin/docker-compose#如果是通过 pip 安装的,则执行如下命令即可删除。pip uninstall docker-compose

安装的版本号如下:

在这里插入图片描述

docker-compose简单示例

使用docker-compose启动一个nginx

在/home/nginx下新建docker-compose.yml文件,输入如下内容:

version: "3" # 表示该docker-compose.yml文件使用的是Version 3 file formatservices:  # 为project定义服务  nginx:  # 指定服务名称    image: nginx  # 指定服务所使用的镜像    ports:  # 暴露端口信息      - 80:80

在yml文件所在的当前目录使用docker-compose up启动

也可以使用后台启动命令:docker compose up -d

[root@localhost nginx]# vim docker-compose.yml[root@localhost nginx]# docker-compose upCreating network "nginx_default" with the default driverPulling nginx (nginx:)...latest: Pulling from library/nginxf17d81b4b692: Pull completed5c237920c39: Pull completea381f92f36de: Pull completeCreating nginx_nginx_1_5666499f560d ... doneAttaching to nginx_nginx_1_40e5a205acb7

浏览器访问:

在这里插入图片描述

你可能感兴趣的文章
CMFCRibbonStatusBar用法
查看>>
CMFCControlRendererInfo类的参数
查看>>
史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)
查看>>
CMFCShellListCtrl使用方法
查看>>
mapnik的demo运行
查看>>
python支持下的mapnik安装
查看>>
milvus手册
查看>>
多目标跟踪的简单理解
查看>>
Near-Online Multi-target Tracking with Aggregated Local Flow Descriptor
查看>>
Joint Tracking and Segmentation of Multiple Targets
查看>>
Subgraph Decomposition for Multi-Target Tracking
查看>>
JOTS: Joint Online Tracking and Segmentation
查看>>
CDT: Cooperative Detection and Tracking for Tracing Multiple Objects in Video Sequences
查看>>
Improving Multi-frame Data Association with Sparse Representations for Robust Near-online Multi-ob
查看>>
Virtual Worlds as Proxy for Multi-Object Tracking Analysis
查看>>
Multi-view People Tracking via Hierarchical Trajectory Composition
查看>>
Online Multi-Object Tracking via Structural Constraint Event Aggregation
查看>>
The Solution Path Algotithm for Identity-Aware Multi-Object Tracking
查看>>
Groupwise Tracking of Crowded Similar-Appearance Targets from Low-Continuity Image Sequences
查看>>
CDTS: Collaborative Detection, Tracking, and Segmentation for Online Multiple Object Segmentation
查看>>