Docker

eyecatch docker

Dockerをインストールする

Windows

scoopを使うと一瞬です。

scoop install docker docker-compose docker-machine

Dockerイメージをビルドする

Dockerイメージをビルドするには、Dockerfileというテキストファイルを作成し、docker buildコマンドを使用します。

Dockerfileには、アプリケーションの環境や依存関係を設定する手順が記述されています。

Dockerfileを作成したら、以下のコマンドを使用してDockerイメージをビルドします。

docker build -t <name>:<tag> <Dockerfile directory>

-tオプションを使用して、イメージに名前とタグを付けることができます。

<name>には、イメージ名を指定します。通常はリポジトリ名を指定します。 <tag>には、任意のタグを指定します。タグは省略可能です。

<Dockerfile directory>には、Dockerfileが含まれるディレクトリのパスを指定します。

例えば、以下のようにコマンドを実行して、イメージを作成することができます。

docker build -t my-image:1.0 .

このコマンドは、現在のディレクトリにあるDockerfileからmy-imageという名前のDockerイメージをビルドします。

ビルドが完了すると、指定した名前のイメージがローカルのDockerレジストリに登録されます。

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

docker pull <image name>

Dockerイメージを操作する

{{ ref “/blog/docker-image.md” }}

コンテナを起動する

正しくは、コンテナでコマンド[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

ネットワークドライバー

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

docker network inspect <network>

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

docker network disconnect <network> <container>

ネットワークを削除する

docker network rm <network>

See Also