stks56's tech blog

Keep it simple, stupid.

Dockerのコマンドを理解する

概要

Dockerのコマンドが何をしているかを自分なりに簡潔に解説します。

対象者

  • Dockerの概念はなんとなく理解できたけど自分で環境構築ができない方
  • とりあえずコマンドは知ってるけど詳しく何をやっているかわからない方

なぜ書こうと思ったのか

自分はDockerで開発環境で構築できたが学習の際、技術記事を見て回ったがDockerの概念を説明する記事やDockerで開発環境を構築するチュートリアル的な記事は数あれど、具体的にDockerのコマンドに注力して解説してる記事が少なかったので初学者の助けになればと思い寄稿しようと思いました。 また、難しい概念抜きにしてをコマンド一つ一つを簡潔に理解することによって学習が捗ったので今回は「簡潔に」をテーマとして書いていきます。

注意点

解説記事によってはdocker buildだったりdocker runとして解説している記事がありますが、厳密にはdocker image build docker container runです。

imagecontainerを記載することで何に対して実行しているコマンドなのかを理解できる為、今回は省略せずに解説します。

解説

docker images

現在自分のマシンが持っているDockerイメージの一覧を表示する

docker image pull (イメージ名)

DockerHubにあるイメージを自分のマシン上にダウンロードする

docker image build (-t イメージ名:タグ名) (Dockerfileのディレクトリのパス)

Dockerfileを元にイメージを作成する -tオプションを付けることで自分の好きな名前をつけられます さらに-fオプションを付けることでファイル名がDockerfileでないファイルを指定できます。 (-f ファイル名)とすることでそのファイル名を指定します。

docker container run

イメージからコンテナを作成、実行する

docker container ls (-a)

実行中のコンテナの一覧を表示する -aで終了したコンテナを含む一覧を表示する

docker container stop (コンテナIDまたはコンテナ名)

実行しているコンテナを終了する

docker container restart (コンテナIDまたはコンテナ名)

コンテナの再起動

docker container rm (コンテナIDまたはコンテナ名)

コンテナの破棄

docker container logs

Dockerコンテナの標準出力を表示

docker container exec (コンテナIDまたはコンテナ名) (コンテナ内で実行するコマンド)

実行中のコンテナでのコマンド実行

docker container cp (コンテナIDまたはコンテナ名):(コンテナ内のコピー元) (ホストのコピー先)

ファイルのコピー、コンテナ間でのファイルのやりとりのために使用