[解説]個人的によく使うDockerコマンド

Docker

概要

Dockerを使い始めて、1年ほど経っていますが、
よく使うコマンドがだいたい定まってきています。

今回はそのコマンドについて、まとめたいと思います。

Dockerコマンド一覧

コンテナ/イメージの確認

コンテナの一覧確認

# 稼働しているコンテナの確認
$ docker ps
# 稼働停止しているコンテナも含めてすべてのコンテナの確認
$ docker ps -a

イメージの一覧確認

$ docker images

イメージの取得

イメージをDocker hubから落とす

$ docker pull <落としたいイメージ>
(例) $ docker pull golang:latest

Dockerfileからイメージの作成

$ docker build <docker file名>

コンテナからイメージ作成

$ docker commit <コンテナのID>

タグ付け

イメージにタグをつける

$ docker tag <imageのID> <リポジトリ名>:<タグ名>

一つのイメージに対し、複数のタグをつけることができます。
タグをつけるイメージの指定方法として、IDを使用していますが、タグでの指定も可能です。

$ docker tag <リポジトリ名>:<タグ名> <新規のリポジトリ名>:<新規のタグ名>

※これはタグを付け替えているわけではなく、新しくタグを追加しています。

コンテナの起動

コンテナの起動(コンテナの新規作成、稼働)

$ docker run <リポジトリ名>:<タグ名>
オプション
  • -p オプション:ポートフォワード
  • -v オプション:ディレクトリをマウント
  • -d オプション:デタッチ。コンテナをバックグラウンドで実行
  • -it オプション:ホストPCの入力をコンテナの標準出力へ、コンテナの入力をホストPCの標準出力へつなぐ
(例)
$ docker run -p 52525:80 -v ~/dev/app:/src/app -d <リポジトリ名>:<タグ名>

(訳)
・<リポジトリ名>:<タグ名>のイメージを基にコンテナの作成
・-pオプションにより、ホストPCのポート52525番をコンテナの80番ポートへフォワード
・-vオプションにより、ホストPCの「~/dev/app」ディレクトリに、コンテナの「/src/app」ディレクトリをマウント
・-d オプションにより、コンテナから出る(制御対象をホストPCへ)

コンテナの起動(既存のコンテナを稼働)

$ docker start <コンテナのID>

 

コンテナ/イメージの削除

イメージを削除

<リポジトリ名>:<タグ名>で削除対象を選択
$ docker rmi <リポジトリ名>:<タグ名>

この選択方法の場合、イメージではなくタグが削除されます。
削除対象となるタグがついているイメージが、当該タグしか持たない場合、イメージも削除されます。

イメージIDで削除対象を選択
$ docker rmi <イメージID>

複数のタグが付いていたとしても、当該イメージについているタグとイメージが全て削除されます。

コンテナの動作停止

$ docker stop <コンテナのID>

コンテナを削除

$ docker rm <コンテナのID>

その他

コンテナのリネーム

$ docker rename <現在のコンテナ名> <新しいコンテナ名>

さいごに

これまでの記事とは異なり、説明を少なめで、コマンドを列挙してみました。

Windows10 Homeをご使用されている場合、ポートフォワーディングやマウントについて、上記のコマンドだけでなく、特別な手順がありました。

以下の記事に掲載しておりますので、ご参考ください。

Docker Toolboxで"C/User/"以外のディレクトリにマウントする方法【Windows 10 Home】
Windows 10 Home上のDocker環境における、ディレクトリをマウントする方法を紹介します。Windows 10 HomeユーザがDockerを使う際、普通にDocker環境構築をするだけでは、ディレクトリをマウントすることはできません。そこで。マウントするための設定手順について紹介します。
Docker Toolboxでポートフォワーディング!【Windows 10 Home】
こんにちは!zhackです! 最近、jupyter notebookのサーバやローカル環境にWebサーバを立てたいなぁと思うことがあり、 docker runコマンドでポートフォワーディングしてみました。 アクセスしてみると、...

ではでは!

 

コメント

タイトルとURLをコピーしました