docker-compose create

表題のコマンドを試す。

■ 環境

  • Mac OSX El Capitan
  • Docker 1.10.0
  • Docker Machine 0.6.0
  • Docker Compose 1.6.0

■ create

1.6.0“から新規に追加された`create`コマンド。ヘルプは下記の通り。

$ docker-compose create -h
Creates containers for a service.

Usage: create [options] [SERVICE...]

Options:
    --force-recreate       Recreate containers even if their configuration and
                           image haven't changed. Incompatible with --no-recreate.
    --no-recreate          If containers already exist, don't recreate them.
                           Incompatible with --force-recreate.
    --no-build             Don't build an image, even if it's missing

$

コンテナの作成をするが起動はしない、というもののようである。今までは`up`コマンドで`create`と`start`をしているのと同じ結果になっていた。

実際に試してみる。使用するのは先日から使用している下記エントリの”docker-compose.yml“である。

Elasticsearch + Kibana on Docker Compose

まずは状態を確認。

$ docker-compose ps
Name   Command   State   Ports
------------------------------
$
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
$

何も起動していない状態である。

`create`を実行。

$ docker-compose create
Creating elasticsearch
Creating kibana
$
$ docker-compose ps
    Name                   Command               State    Ports
---------------------------------------------------------------
elasticsearch   /docker-entrypoint.sh elas ...   Exit 0
kibana          /docker-entrypoint.sh kibana     Exit 0
$
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
110d07329a6e        kibana              "/docker-entrypoint.s"   6 minutes ago       Created                                 kibana
456363473d0f        elasticsearch       "/docker-entrypoint.s"   6 minutes ago       Created                                 elasticsearch
$

コンテナは稼働していない。”STATUS“に”Created“が追加されたような気がする。ここからこれらのコンテナを稼働させるには`start`を実行すれば良い。

$ docker-compose start
Starting elasticsearch
Starting kibana
$
$ docker-compose ps
    Name                   Command               State                Ports
-----------------------------------------------------------------------------------------
elasticsearch   /docker-entrypoint.sh elas ...   Up      0.0.0.0:9200->9200/tcp, 9300/tcp
kibana          /docker-entrypoint.sh kibana     Up      0.0.0.0:5601->5601/tcp
$
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
110d07329a6e        kibana              "/docker-entrypoint.s"   8 minutes ago       Up 8 seconds        0.0.0.0:5601->5601/tcp             kibana
456363473d0f        elasticsearch       "/docker-entrypoint.s"   8 minutes ago       Up 9 seconds        0.0.0.0:9200->9200/tcp, 9300/tcp   elasticsearch
$

以上。

■ 関連