
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
ネットワークドライバー
bridge: デフォルトのドライバー。host: Dockerホストのネットワークを直接使用する。overlay: swarmサービスで使用するドライバー。macvlan: コンテナにMACアドレスを付与する。none: ネットワークに接続しない。
ネットワークの詳細を表示する
docker network inspect <network>
ネットワークからコンテナを切り離す
docker network disconnect <network> <container>
ネットワークを削除する
docker network rm <network>