docker-compose pause/unpause

表題のコマンドについて試してみる。

■ 環境

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

■ pause

`docker pause`を”docker-compose.yml“で設定しているコンテナに対して行うものである。そもそも`pause`は何をしているのか、という疑問には下記のヘルプ。

$ docker pause -h

Usage:    docker pause [OPTIONS] CONTAINER [CONTAINER...]

Pause all processes within a container

  --help             Print usage
$

コンテナを一時的に停止(suspend)させるものである。”SIGSTOP“シグナルが与えられているようである。

$ docker-compose pause -h
Pause services.

Usage: pause [SERVICE...]
$

実際に行ってみる。対象のコンテナ群はいつも通りの”Elasticsearch + Kibana“である。

$ docker-compose pause
Pausing elasticsearch ... done
Pausing kibana ... done
$
$ docker-compose ps
    Name                   Command               State                 Ports
------------------------------------------------------------------------------------------
elasticsearch   /docker-entrypoint.sh elas ...   Paused   0.0.0.0:9200->9200/tcp, 9300/tcp
kibana          /docker-entrypoint.sh kibana     Paused   0.0.0.0:5601->5601/tcp
$
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                  PORTS                              NAMES
7654ad8f188f        kibana              "/docker-entrypoint.s"   7 minutes ago       Up 7 minutes (Paused)   0.0.0.0:5601->5601/tcp             kibana
940da79434bd        elasticsearch       "/docker-entrypoint.s"   7 minutes ago       Up 7 minutes (Paused)   0.0.0.0:9200->9200/tcp, 9300/tcp   elasticsearch
$

■ unpause

`pause`で一時的に停止しているコンテナを再開させる。

$ docker-compose unpause
Unpausing kibana ... done
Unpausing elasticsearch ... done
$
$ 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
7654ad8f188f        kibana              "/docker-entrypoint.s"   8 minutes ago       Up 8 minutes        0.0.0.0:5601->5601/tcp             kibana
940da79434bd        elasticsearch       "/docker-entrypoint.s"   9 minutes ago       Up 8 minutes        0.0.0.0:9200->9200/tcp, 9300/tcp   elasticsearch
$

今までは一時的に不要になったものを`stop`して置いておいたりしたのだが、今後は`pause`をしておいてみることにする。

ちなみに`unpause`していない状態(“STATUS“が”Paused“)で`start`をしてもコンテナは開始されないし、`down`で停止と削除をしようとしたら下記のようにエラーとなった。

$ docker-compose down
Stopping kibana ... error
Stopping elasticsearch ... error

ERROR: for elasticsearch  Cannot stop container 940da79434bdb050056405ab28565c1f1c52c04727a5631728934f1b00c10106: unpausecontainer: Container 940da79434bdb050056405ab28565c1f1c52c04727a5631728934f1b00c10106 is paused. Unpause the container before stopping
ERROR: for kibana  Cannot stop container 7654ad8f188f717c4487fb9e6fe5924feb7886c5d650c67f4455deaf42c18623: unpausecontainer: Container 7654ad8f188f717c4487fb9e6fe5924feb7886c5d650c67f4455deaf42c18623 is paused. Unpause the container before stopping
$

以上。

■ 関連

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください