zoukankan      html  css  js  c++  java
  • Docker Compose

    版权所有,未经许可,禁止转载


    章节


    实际项目中,通常会有很多容器同时运行,逐个启动这些容器会很繁琐。Docker Compose通过docker-compose.yml配置文件,可以非常轻松地,用一个命令启动这些容器。例如,假设你有一个需要NGNIX和PHP的应用程序,就可以使用docker-compose一次启动这2个容器。

    安装dockers-compose

    安装 dockers-compose的步骤如下

    1. 下载 dockers-compose

    在Linux CentOS系统下,下载docker-compose。其他系统安装可参考官网

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

    上面的命令将下载docker-compose的最新版(当前是1.24.0),最新版可查看官网

    2. 改变文件属性为可执行

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

    3. 确认安装是否成功

    查看docker-compose版本号

    sudo docker-compose --version
    docker-compose version 1.24.0, build 0aa59064
    

    顺利打出版本号,安装成功。

    例子:docker-compose启动nginx与php

    我们将使用docker-compose一次启动nginx与php两个容器。

    1. 配置 dockers-compose.yml文件

    创建docker-compose.yml配置文件:

    
    version: '3'
    services:
     # nginx 服务
     nginx:
      # 推荐使用官方镜像
      image: nginx:latest
      # 映射端口,把容器端口映射到宿主机对外接口,格式:对外端口:容器端口
      ports:
      - "80:80"
      - "443:443"
      # 所依赖的服务,php会先启动
      depends_on:
      - php
    
     # php 服务
     php:
      # 官方镜像
      image: php:7-fpm
    

    docker-compose.yml是一个YAML文件,语法很简单。

    我们把上面的文件分解一下。在父级,我们定义服务的名称:nginxphpnginx服务使用镜像nginx:latestphp服务使用镜像php:7-fpmports参数可以定义服务的端口映射。详细信息,请看注释。

    2. docker-compose启动多个容器

    先确保docker服务已经运行:

    $ sudo service docker start
    

    运行docker-compose,切换到docker-compose.yml所在的目录执行

    $ sudo docker-compose up -d
    

    会自动下载nginx与php镜像,然后运行这两个容器。

    3. 确认容器运行

    通过docker ps查看nginx与php容器是否运行:

    [root@qikegu deploly]# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                      NAMES
    042328b082a4        nginx:latest        "nginx -g 'daemon of…"   33 seconds ago      Up 31 seconds       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   deploly_nginx_1
    9d0b67f869ee        php:7-fpm           "docker-php-entrypoi…"   34 seconds ago      Up 33 seconds       9000/tcp                                   deploly_php_1
    
    

    可以看到容器确实已经运行了。

  • 相关阅读:
    linux软件相关基操--基于Debian
    Spring AOP实现接口调用异常时重试
    Kafka
    zookeeper集群
    zookeeper客户端之curator
    zk权限模块
    zookeeper简介及基操
    CustomTool
    SpringBoot+Mybatis配置多数据源,分包方式
    mysql操作相关错误解决办法
  • 原文地址:https://www.cnblogs.com/jinbuqi/p/11186848.html
Copyright © 2011-2022 走看看