Dockerコマンドチートシート

Dockerコマンドチートシート

よく使うコマンドを纏めました。

以下はdocker runコマンドのオプションの説明です。

オプション 意味
-d コンテナをバックグラウンド実行
–name コンテナ名指定
-p ポートフォワーディング設定
–link 別のコンテナへリンク
-e 環境変数設定
-v ディレクトリ共有

コンテナ起動

コンテナ停止

コンテナ削除

コンテナ削除します。複数コンテナを削除したい場合は、コンテナ名を半角スペースで区切って指定します。

強制削除する場合は-fオプションを付けます。

コンテナ名リネーム

コンテナ作成

イメージからコンテナを作成するにはrunコマンドを使用します。

タグを省略するとlatestを指定したことになります。

以下具体例です。

-dはバックグラウンド実行です。

コンテナ名を指定する場合は--nameオプションを付けます。

ホストOSとコンテナでポートフォワーディングするには-pオプションを付けます。

ホストOSのport:コンテナのportです。

これでコンテナを作成してログインすることが出来ます。

コンテナを起動した状態で作成したい場合は-it -dオプションを付けてコンテナ作成します。

これでコンテナ作成&起動した状態となります。この場合、execでログインしてexitで終了してもコンテナは停止されません。

ディレクトリ共有

/opt/tomcat/logs配下(コンテナ)と`c:\logs配下(ホスト)がディレクトリ共有されます。

ディレクトリ共有は便利ですが、ホストOSのディレクトリに依存するため非推奨です。

エクスプローラ

Dockerコマンドチートシート

コンテナ内で作業

execで指定したコンテナ名、指定したコマンドを実行します。具体的には以下のような感じです。

コンテナをイメージにする

コンテナをイメージ化するにはcommitコマンドを使います。一時的にイメージ化したい場合などの場合はDockerfileよりcommitコマンドを使います。タグを省略した場合は、latestになります。※コンテナ停止しておく必要があります

アタッチ

バックグラウンドで起動しているコンテナにアタッチします。コンテナが起動している状態でアタッチをします。

コンテナ作業をexitするとコンテナは停止します。

デタッチ

Linuxでデタッチするには、control+p,control+qでデタッチできます。

コンテナは起動中のままバックグラウンドで起動された状態になります。

起動しているコンテナ一覧表示

起動しているコンテナ一覧表示します。

出力例です。

イメージがnginxで、webserverというコンテナ名のコンテナが起動していることがわかります。

停止しているコンテナも含めて一覧表示するには-aオプションを付けます。

コンテナからホストへコピー

index.htmlをホスト(Windowsなど)のカレントディレクトリにコピーする例です。

※コンテナ停止しておかないとエラーになります

ホストからコンテナへコピー

ホストのカレントディレクトリにあるtomcat.zipをコンテナ内の/opt/配下にコピーする例です。

Windowsコンテナにコピーする場合は、以下のように指定します。ホストOSのカレントディレクトリの全てのファイルを、コンテナのC:\tmp\配下にコピーしています。

イメージ検索

Docker Hubから検索することが出来ます。以下具体例です。

イメージ取得

イメージを取得するにはpull(引く)します。

Docker Hubから検索することが出来ます。以下具体例です。

イメージ一覧

イメージ一覧が表示されます。

イメージID一覧のみ表示するには-qオプションを使用します。

イメージ削除

イメージを削除する際、コンテナが存在する場合は先にコンテナを削除してからでないとイメージを削除することが出来ませんので注意してください。

具体的なコマンドです。

Dockerfileからイメージ作成

Dockerfileからイメージを作成するにはbuildコマンドを使用します。カレントディレクトリにDockerfileが存在しているとします。

-tオプションでイメージ名を指定します。省略することも可能です。以下省略例です。

Docker情報表示

ボリューム一覧

ボリューム作成

ボリューム削除

ポート確認

開放しているポートの確認をします。

コマンド一覧

https://docs.docker.com/engine/reference/commandline/docker/

Failed to get D-Bus connection: Operation not permitted

systemctlコマンドを使用する場合に「Failed to get D-Bus connection: Operation not permitted」エラーが出ました。

docker runコマンド実行時に、/sbin/initを実行する必要があるようです。

https://qiita.com/Targityen/items/6e80b855b79d521412f0

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA