Docker第八篇-docker-compose教程(介绍,安装,入门示例)

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上开源,地址为:https://github.com/docker/compose/releases
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.sh
sh 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安装

#安装pip
yum -y install epel-release
yum -y install python-pip

#确认版本
pip --version

#更新pip
pip install --upgrade pip

#安装docker-compose
pip 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 format
services:  # 为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 up
Creating network "nginx_default" with the default driver
Pulling nginx (nginx:)...
latest: Pulling from library/nginx
f17d81b4b692: Pull complete
d5c237920c39: Pull complete
a381f92f36de: Pull complete
Creating nginx_nginx_1_5666499f560d ... done
Attaching to nginx_nginx_1_40e5a205acb7

浏览器访问:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/supermao1013/article/details/83111137
今日推荐