Docker的使用-3(使用Docker Compose)

本文参考自官方文档:https://docs.docker.com/

一.Docker Compose介绍

Docker Compose是一种工具,旨在帮助定义和共享多容器应用程序.使用 Compose,我们可以创建一个 YAML 文件来定义服务,并且可以使用单个命令来启动或拆除所有内容.(参考文档)

使用 Compose的一优势是您可以在文件中定义应用程序堆栈,将其保存在项目存储库的根目录下(现在受版本控制),并且可以轻松地让其他人为您的项目做出贡献.有人只需要克隆您的存储库并启动撰写应用程序.事实上,你现在可能会在 GitHub/GitLab 上看到很多项目就是这样做的.

二.安装 Docker Compose

1.Windows 或 Mac 默认安装了Docker Compose,如果使用的是 Linux 机器,则需要安装 Docker Compose,安装后运行以下命令并查看版本信息

docker-compose version

如果是Linux机器,则继续后面的操作,否则可以跳过. 

2.Linux上运行此命令以下载 Docker Compose 的当前稳定版本(速度可能有点慢,要耐心等待)

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

要安装不同版本的 Compose,请替换1.29.2 为您要使用的 Compose 版本.

3.对二进制文件应用可执行权限

sudo chmod +x /usr/local/bin/docker-compose

4.安装完成测试

[root@xxx ~]# sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   633  100   633    0     0    182      0  0:00:03  0:00:03 --:--:--   182
100 12.1M  100 12.1M    0     0  23663      0  0:08:58  0:08:58 --:--:-- 24027
[root@xxx~]# docker-compose version
-bash: /usr/local/bin/docker-compose: Permission denied
[root@xxx ~]# sudo chmod +x /usr/local/bin/docker-compose
[root@xxx ~]# docker-compose version
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019
[root@xxx ~]#

 三.创建 Compose 文件

1.在应用项目的根目录下,创建一个名为docker-compose.yml.

2.在撰写文件中,我们将首先定义yml版本.在大多数情况下,最好使用最新的受支持版本.您可以查看Compose 文件参考 以了解当前yml版本和兼容性.

3.接下来,我们将定义要作为应用程序的一部分运行的服务(或容器)列表.

4.下面是一个创建mysql服务例子,docker-compose.yml如下

# Use root/example as user/password credentials
version: '3.7'

services:

  db:
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

 运行docker-compose up -d,等待它完全初始化,然后访问http://localhost:8080http://host-ip:8080

运行docker-compose down 可以停止所有容器,你也可以使用docker命令操作.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值