コンテナのライフサイクルと基本コマンド

Dockerの基本的な作業は、ネットからイメージをローカルに取り込んで、それを元にコンテナを作成・起動するというサイクルになる。基本コマンドは下記の例で。

「CentOS7ベースのBashシェル」コンテナのライフサイクル例

基本的にホストはCentOS7でなくてもよい

  1. docker pull

    最新のCentOS7イメージをダウンロード。

    docker pull centos:7
  2. docker images

    ローカルにあるイメージの確認。

    docker images
    REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
    centos                      latest              e934aafc2206        2 weeks ago         199MB
    
  3. docker create

    ベースイメージはCentOS7で、/bin/bashを実行するコンテナを「test-bash」という名前で作成。

    docker create --interactive --tty --name test-bash centos:7 /bin/bash
  4. docker ps

    コンテナを停止中のものも含めてリスト。

    docker ps --all
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                    NAMES
    4d0e6fafb6b8        centos:7       "/bin/bash"              4 seconds ago       Created                                                      test-bash
    
  5. docker start

    コンテナ「test-bash」を起動。現在の端末でコンテナでの入力を継続。--ttyは不要(不可)。

    docker start --interactive test-bash

    コンテナ内のBashシェルになり、exitでシェルを終了するとコンテナは停止し、ホストのシェルに戻る。

    [root@4d0e6fafb6b8 /]# exit

    上記でコンテナシェルを終了しないでホストに戻るなら、コンテナシェルの中でCtrl+pにつづいてCtrl+q。この場合、コンテナは起動したまま。

  6. docker stop

    コンテナ「test-bash」を停止。(上記でコンテナを停止しなかった場合)

    docker stop test-bash
  7. 4-6の繰り返し

  8. docker rm

    コンテナ「test-bash」を削除。(二度と使わない場合)

    docker rm test-bash
  9. docker rmi

    CentOS7イメージを削除。(二度と使わない場合)

    docker rmi centos:7

基本コマンド

詳しくはdocker image --helpdocker container --helpで。なお、docker container rundocker runというように省略できるものがある。