[Docker] docker-compose使用教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Docker] docker-compose使用教程相关的知识,希望对你有一定的参考价值。

参考技术A [Docker] 入门教程
https://www.jianshu.com/writer#/notebooks/20574865/notes/37511203

我们从 logo 上可以看出来, 说白了, 这个东西就是一个管理容器的工(zhang)具(yu), 我们可以方便的使用它来管理我们的 docker 容器, 可以极大程度的简化命令行的复杂操作.

如果你是 Mac 或 Windows 用户使用桌面版本的 Docker 应用默认就会替你安装 docker-compose (下文中用dc代替), 如果是 centos 的话可以使用命令 yum -y install docker-compose 太简单了不做过多说明.

查看版本,能显示出来证明安装成功了

接下来我们有需求了, 运行一个 service-a 挂载到 /usr/local , 映射端口为 8082 并添加 servicehost 域名映射内网 ip ,很多人可以想到那应该是一条冗长 docker 命令

这么一大坨,看起来十分不方便,那么我们就是用 docker-compose 来优化一下

首先创建一个名为 docker-compose.yml 的文件

之后随便是用一个文本编辑器打开,写入下面内容

这样看起来是不是思路清晰多了呢,我们接下来运行一下

-d 后台运行,否则运行log就会出现在你的屏幕上。。。

然后查看一下运行状态

我们可以看到服务已经运行起来了,我们试着访问一下
http://localhost:8082/hello

成功,这一部分告一段落。

有的人会问,多个服务怎么运行呢?很简单,我们这里就来做一下。

下面我要做的是开启三个服务 service-a , service-b , service-eureka ,分别是一个注册中心和两个服务。

我们来完善一下 docker-compose.yml

我们来运行一下

注册中心

访问service-a

访问service-b

到这里我们已经可以运行起来多个服务了!!!!下课 - -

我们可以看到 docker-compose 会自动识别容器的开启状态,替我们开启需要开启的那一个

1.可能很多人对我的 echo 192.168.1.126 servicehost >> /etc/hosts 不是很理解

这里说一下,这句命令的意思是,把 servicehost 域名加入到 hosts 文件,目的是为了能让我的 eureka 发现我的服务,而不是把地址写死在配置文件中,这句命令对应的服务配置为

云原生之docker-compose篇docker-compose工具的安装和基本使用

【云原生之docker-compose篇】docker-compose工具的安装和基本使用

以上是关于[Docker] docker-compose使用教程的主要内容,如果未能解决你的问题,请参考以下文章

Docker入门-docker-compose使用

docker-compose

docker学习 docker-compose使用示例

Docker-compose容器

Docker-compose容器

Docker-compose容器