Docker(8)-Docker Compose

    对于大多数的工作,我们都需要多个容器之间的相互配合。幸运的是,Docker提供给了我们一个巧妙的工具--Docker Compose,让我们能够无缝地建立和管理多个容器。

    要安装Docker Compose,我们需要先确保已经安装了pip(一个Python包管理器)。命令如下:

sudo apt-get update
sudo apt-get install -y python-pip
sudo pip-install docker-compose

    Docker Compose使用一个名为docker-compose.yml的YAML文件来定义应用程序的服务,使得这些服务能够一起运行在一个独立的环境中。需要注意的是,Docker Compose在目录的基础上工作,所以如果你想在一台设备上运行多个容器组,那么每个容器组都需要一个单独的目录,而且每个目录都需要一个docker-compose.yml文件。

    为了更好地理解如何使用Docker Compose,让我们先来看看如何使用这个工具运行一个单独的容器:

      1. 创建一个目录

mkdir HelloWorld

      2. 进入目录里并创建一个包含如下内容的docker-compose.yml文件:

hellocontainer:
image: hello
-world

      第一行指定容器的名字,第二行指定了容器将基于的镜像。

      3. 在目录里运行如下命令来启动容器:

docker-compose up

      我们可以看到终端上显示出了"Hello from Docker!"

 

    接下来让我们使用Docker Compose运行一个由多个容器组成的wordpress应用:

      1. 创建wordpress目录:

mkdir wordpress

      2. 在目录里创建一个包含如下内容的docker-compose.yml文件:

wordpress:
  image: wordpress
  links:
    - database:mysql
  ports:
    - 8080:80
database:
  image: mariadb
  environment:
    MYSQL_ROOT_PASSWORD: supersecretpass

      上面,我们指定了两个容器,wordpress与database。image关键字指定了容器将基于的镜像;links关键字关联了两个容器;ports关键字映射了主机的8080端口到容器的80端口;environment关键字设置容器中的环境变量,在这里我们将mysql root用户密码设置为了"supersecretpass"。

      3. 执行docker-compose up

    在主机上打开浏览器并在地址栏输入http://localhost:8080,我们就会看到wordpress的安装页面了^^

    如果我们想以daemon形式启动容器组,可以执行docker-compose up -d命令。

 

    Note:

  • docker-compose up – 启动容器组
  • docker-compose stop – 停止容器组
  • docker-compose ps – 列出所有容器组,无论是否它们正在运行
  • docker-compose kill – 强制停止一个容器组

 

posted @ 2017-09-24 18:27  Zach7  阅读(262)  评论(0编辑  收藏  举报