コピペコードで快適生活

明日使えるソースを自分のために

Dockerのイメージとコンテナ

イメージ作ったり、イメージからコンテナ作ったり、コンテナからイメージ作ったりのコマンドメモ。

  • イメージ
    • リポジトリ&タグと対応している
    • 手元にあるイメージは docker images で確認できる
    • docker build で 手元にイメージを作成できる
    • docker pull で手元にイメージをDLできる
    • docker rmi [ImageID] でイメージを削除できる
      • イメージに紐づくコンテナがある場合は削除できない
      • 先に紐づくコンテナをstopしてrmする必要がある
    • イメージ情報の取得
      • docker inspect [リポジトリ名]:[タグ]
      • CMDの確認: docker inspect [リポジトリ名]:[タグ] --format='{{.Config.Cmd}}'
  • コンテナ
    • docker ps -a で一覧確認できる
    • imageから作成される
      • docker run --name [コンテナ名] -d [イメージID] /sbin/init
      • /sbin/init をつけないともともと設定してあるCMDが実行される
        • 似てるもの
          • docker-compose run --rm php /bin/bash -c ""
            • イメージからコンテナ作ってシェル実行してコンテナ消す
    • コンテナからimageを作ることもできる
      • まず止める
        • docker stop [コンテナ名]
      • イメージを作成する
        • docker commit [コンテナ名] [リポジトリ名]:[タグ]
    • コンテナの削除
      • 止める: docker stop [コンテナ名]
      • 消す: docker rm [コンテナ名]