Docker

eyecatch docker

Dockerをインストールする

Windows

scoopを使うと一瞬です。

scoop install docker docker-compose docker-machine

Dockerイメージを作成する

DockerfileからDockerイメージを作成するには、buildコマンドを使います。

docker build <Dockerfile path>

Docker HubからDockerイメージを取得する

docker pull <image name>

コンテナを起動する

正しくは、コンテナでコマンド[COMMAND]を実行するするコマンドです。ただし、実行時にコンテナを作成し、開始するため、コンテナを起動する時に、よく使われます。

docker run [OPTIONS] <image name> [COMMAND] [ARG...]

コンテナをバックグラウンドで起動する

-dオプションをつけると、デタッチドモードで起動します。デタッチドモードで起動すると、起動時にコンテナに入らずコンソールのままになります。

docker run -d --name <container name> <image name>

コンテナに名前を付ける

--nameオプションで、コンテナ名を設定できます。

コンテナ終了時にコンテナを破棄する

--rmオプションを付けると、コンテナ終了時にコンテナが破棄されます。

docker run --rm --name <container name> <image name>

コンテナ情報を出力する

起動中のコンテナ情報を出力する

docker ps

全てのコンテナ情報を出力する

停止しているコンテナは、オプションなしだと表示されません。--allオプションをつければ停止しているコンテナも表示されます。

docker ps -a
docker ps --all

出力結果をフィルタリングする

name=dbでNAMESにdbを含むコンテナのみを表示します。

docker ps -f name=db
docker ps --filter name=db

ファイル・フォルダをホストからコンテナ内へコピーする

docker cp <source path> <container id>:<destination path>

コンテナでコマンドを実行する

docker exec <container> <command>

bashを立ち上げて操作する

docker exec -it <container> /bin/bash

自動再起動

docker起動時にrestartを設定することで、コンテナ停止時の再起動について設定ができます。

オプション 機能
no 再起動しない(デフォルト)
on-failure プロセスが正常終了(ステータス0)以外で終了した時に、再起動する
always stopされない限り、再起動する
unless-stopped stopされない限り、再起動する。ただし、最後の状態が終了ステータスの場合は再起動しない

コンテナを停止する

起動中のコンテナは、docker stopで停止できます。

docker stop <container>

コンテナを削除する

docker rm <container>

コンテナを強制的に削除する

docker rm --force <container>

コンテナのリソース使用状況を確認する

コンテナのメモリ使用量やCPU利用率などの、リソース使用状況を確認します。

docker container stats

ネットワークを一覧表示する

docker network ls

ネットワークドライバー

  • bridge: デフォルトのドライバー。
  • host: Dockerホストのネットワークを直接使用する。
  • overlay: swarmサービスで使用するドライバー。
  • macvlan: コンテナにMACアドレスを付与する。
  • none: ネットワークに接続しない。

ネットワークの詳細を表示する

docker network inspect <network>

ネットワークからコンテナを切り離す

docker network disconnect <network> <container>

ネットワークを削除する

docker network rm <network>

See Also