初心者SEのつぶやき

初心者SEのつぶやき

Dockerコマンドまとめ

やりたいこと

よく使うかなって感じのdocker関連のコマンドについて
独断と偏見で整理をしていく。
※勉強しながらなので適宜更新

docker image関係

  • イメージのダウンロード
docker image pull {イメージ名}
  • Dockerfileからイメージを作成
    • -t でイメージ名とタグを指定できる
    • -f でDockerfileを指定できる
    • --build-arg 変数名={値}でargに値を代入できる。
docker image build  -t {好きな名前:好きなタグ名} -f {Dockerfileパス} {ディレクトリパス}
  • イメージ一覧表示
docker image ls
  • イメージ削除
docker image rm {イメージ名}
  • イメージの詳細を表示
docker image inspect {イメージ名}
  • イメージ作成の履歴を表示
docker image history {イメージ名}

docker container関係

  • イメージからコンテナを起動
    • optionについて
      • -iは標準入力をopen
      • -tは出力結果の成形
      • -dでバックグラウンドで起動(デタッチドモード)
      • --nameでコンテナに名前を付ける
      • --rmで実行後自動削除
      • -p{ホスト側のポート}:{コンテナ側のポート}でコンテナとホストマシンのポートを紐づける。
      • --network{ネットワーク名}でDockerネットワークに紐づける。
    • コマンド未指定の場合はdefaultコマンド実行
    • 下記オプションの追加でボリュームに接続しながらコンテナ起動が可能(どちらも同じ意味)
      • -v {ボリューム名}:{コンテナ内絶対パス}
      • --mount type=volume src={ボリューム名} dst={コンテナ内絶対パス}
    • 下記オプションの追加でボリュームにバインドマウントしながらコンテナ起動が可能(どちらも同じ意味)
      • -v {ホスト絶対パス}:{コンテナ内絶対パス}
      • --mount type=volume src={ホスト絶対パス} dst={コンテナ内絶対パス}
// option何もなし
docker container run  {イメージ名} 
// optionあり
docker container run -itd --name {好きな名前}  {イメージ名} {実行したいコマンド}
  • 起動しているコンテナに対して任意のコマンドを実行させる
docker container exec {オプション(itdなど)} {コンテナ名} {実行したいコマンド}
  • バックグラウンド(デタッチドモード)で起動しているコンテナをフォアグラウンドモードにする。
docker container attach {コンテナ名}
  • 起動しているコンテナ一覧
docker container ls
  • コンテナ一覧(起動していないものも含む)
docker container ls -a
  • コンテナを停止
docker container stop {コンテナ名}
  • コンテナを再起動
docker container restart {コンテナ名}
  • コンテナを削除
    • -fオプションで強制削除
docker container rm {コンテナ名}
  • 停止済みコンテナを一括削除
docker container prune

docker volume関係(コンテナとは分離して管理しているボリューム領域関係)

  • 新しいボリューム領域を作成する。
docker volume create {ボリューム名}
  • ボリューム領域の一覧を表示する。
docker volume ls
  • ボリューム領域の詳細情報を表示する。
docker volume inspect {ボリューム名}
  • ボリューム領域を削除する。
docker volume rm {ボリューム名}

docker network関係

  • 新しいDockerネットワークを作成する。
docker volume create {ネットワーク名}
  • Dockerネットワークの一覧を表示する。
docker network ls
  • Dockerネットワークの詳細を表示する。
docker network inspect {ネットワーク名}
  • Dockerネットワークを削除する。
docker network rm {ネットワーク名}

docker compose 関係

  • 起動コマンド
    • -dでデタッチドモード
    • --buildで再ビルド
docker compose up
  • 停止コマンド
docker compose stop
  • 削除コマンド
docker compose down