これさえあれば大丈夫！Dockerチートシート


* [Dockerコマンド一覧](#Dockerコマンド一覧)
* [Dockerボリュームコマンド一覧](#Dockerボリュームコマンド一覧)
* [Dockerネットワークコマンド一覧](#Dockerネットワークコマンド一覧)
* [DockerComposeコマンド一覧](#DockerComposeコマンド一覧)

## Dockerコマンド一覧

* [docker info](#Dockerシステム情報を表示する) Dockerシステム情報を表示する
* [docker version](#Dockerバージョン情報を表示する) Dockerバージョン情報を表示する
* [docker events](#サーバからリアルタイムのイベントを取得する) サーバからリアルタイムのイベントを取得する
* [docker create](#コンテナを停止状態で作成する) コンテナを停止状態で作成する
* [docker run](#コンテナを起動状態で作成する) コンテナを起動状態で作成する
* [docker ps](#コンテナ一覧を表示する) コンテナ一覧を表示する
* [docker stats](#コンテナのリソース状況を表示する) コンテナのリソース状況を表示する
* [docker rm](#コンテナを削除する) コンテナを削除する
* [docker start](#コンテナを起動する) コンテナを起動する
* [docker restart](#コンテナを再起動する) コンテナを再起動する
* [docker stop](#コンテナを停止する) コンテナを停止する
* [docker kill](#コンテナを強制的に停止する) コンテナを強制的に停止する
* [docker pause](#コンテナを一時的に停止する) コンテナを一時的に停止する
* [docker unpause](#コンテナの一時停止を解除する) コンテナの一時停止を解除する
* [docker exec](#実行中のコンテナでコマンドを実行する) 実行中のコンテナでコマンドを実行する
* [docker attach](#実行中のコンテナにアタッチする) 実行中のコンテナにアタッチする
* [docker cp](#ホスト-コンテナ間のディレクトリ・ファイルをコピーする) ホスト-コンテナ間のディレクトリ・ファイルをコピーする
* [docker rename](#コンテナの名称を変更する) コンテナの名称を変更する
* [docker update](#コンテナの設定を更新する) コンテナの設定を更新する
* [docker logs](#コンテナのログを取得する) コンテナのログを取得する
* [docker port](#コンテナに対するマッピング（割り当て）を一覧表示する) コンテナに対するマッピング（割り当て）を一覧表示する
* [docker top](#コンテナで実行中のプロセスを表示する) コンテナで実行中のプロセスを表示する
* [docker pull](#レジストリからイメージやリポジトリを取得する) レジストリからイメージやリポジトリを取得する
* [docker push](#イメージやリポジトリをレジストリに送信する) イメージやリポジトリをレジストリに送信する
* [docker search](#DockerHubのイメージを検索する) DockerHubのイメージを検索する
* [docker login](#Dockerレジストリ・サーバに登録またはログインする) Dockerレジストリ・サーバに登録またはログインする
* [docker logout](#Dockerレジストリからログアウトする) Dockerレジストリからログアウトする
* [docker images](#イメージを一覧表示する) イメージを一覧表示する
* [docker rmi](#１つまたは複数のイメージを削除する) １つまたは複数のイメージを削除する
* [docker history](#イメージの履歴を表示する) イメージの履歴を表示する
* [docker commit](#コンテナの変更を元に新しいイメージを作成する) コンテナの変更を元に新しいイメージを作成する
* [docker diff](#コンテナのファイルシステムに対する変更を調査する) コンテナのファイルシステムに対する変更を調査する
* [docker tag](#リポジトリ内のイメージにタグ付けする) リポジトリ内のイメージにタグ付けする
* [docker build](#パスにあるソースコードから新しいイメージを構築する) パスにあるソースコードから新しいイメージを構築する
* [docker export](#コンテナをtar形式のファイルにエクスポートする) コンテナをtar形式のファイルにエクスポートする
* [docker import](#tar形式のエクスポートファイルをイメージとしてインポートする) tar形式のエクスポートファイルをイメージとしてインポートする
* [docker save](#イメージをtar形式のファイルにセーブする) イメージをtar形式のファイルにセーブする
* [docker load](#tar形式のセーブファイルをイメージとしてロードする) tar形式のセーブファイルをイメージとしてロードする
* [docker inspect](#イメージ、コンテナに関する詳細を表示する) イメージ、コンテナに関する詳細を表示する

## Dockerボリュームコマンド一覧

* [docker volume create](#ボリュームを作成する) ボリュームを作成する
* [docker volume inspect](#ボリュームに関する詳細を表示する) ボリュームに関する詳細を表示する
* [docker volume ls](#ボリューム一覧を表示する) ボリューム一覧を表示する
* [docker volume rm](#ボリュームを削除する) ボリュームを削除する

## Dockerネットワークコマンド一覧

* [docker network connect](#コンテナをネットワークに接続する) コンテナをネットワークに接続する
* [docker network create](#Dockerネットワークを作成する) Dockerネットワークを作成する
* [docker network disconnect](#Dockerネットワークからコンテナを切断する) Dockerネットワークからコンテナを切断する
* [docker network inspect](#Dockerネットワークの詳細情報を表示する) Dockerネットワークの詳細情報を表示する
* [docker network ls](#Dockerネットワーク一覧を表示する) Dockerネットワーク一覧を表示する
* [docker network rm](#Dockerネットワークを削除する) Dockerネットワークを削除する

## DockerComposeコマンド一覧

* [docker-compose build](#ビルドを実行する) ビルドを実行する
* [docker-compose config](#Composeファイルを確認・表示する) Composeファイルを確認・表示する
* [docker-compose create](#サービス用のコンテナを作成する) サービス用のコンテナを作成する
* [docker-compose down](#コンテナを停止し、upで作成したコンテナ・ネットワーク・ボリューム・イメージを削除する) コンテナを停止し、upで作成したコンテナ・ネットワーク・ボリューム・イメージを削除する
* [docker-compose events](#プロジェクト内の各コンテナのイベントを表示する) プロジェクト内の各コンテナのイベントを表示する
* [docker-compose help](#コマンドのヘルプと使い方の指示を表示する) コマンドのヘルプと使い方の指示を表示する
* [docker-compose kill](#SIGKILLシグナルを送信し、実行中のコンテナを強制停止する) SIGKILLシグナルを送信し、実行中のコンテナを強制停止する
* [docker-compose logs](#サービスからのログ出力を表示する) サービスからのログ出力を表示する
* [docker-compose pause](#サービスを実行しているコンテナを一時停止する) サービスを実行しているコンテナを一時停止する
* [docker-compose unpause](#停止中のサービスを再開する) 停止中のサービスを再開する
* [docker-compose ps](#コンテナ一覧を表示する) コンテナ一覧を表示する
* [docker-compose pull](#サービス用イメージを取得する) サービス用イメージを取得する
* [docker-compose restart](#サービスを再起動する) サービスを再起動する
* [docker-compose rm](#停止済みのサービス・コンテナを削除する) 停止済みのサービス・コンテナを削除する
* [docker-compose run](#サービスに対して１回コマンドを実行する) サービスに対して１回コマンドを実行する
* [docker-compose start](#既存のコンテナをサービスとして起動する) 既存のコンテナをサービスとして起動する
* [docker-compose stop](#稼働中のコンテナを停止する。※コンテナは削除しない) 稼働中のコンテナを停止する。※コンテナは削除しない
* [docker-compose up](#サービス用のコンテナの構築・作成・起動・アタッチする) サービス用のコンテナの構築・作成・起動・アタッチする

## Dockerコマンド詳細
### [Dockerバージョン情報を表示する](http://docs.docker.jp/engine/reference/commandline/version.html)

```bash
$ docker version
```

### [Dockerシステム情報を表示する](http://docs.docker.jp/engine/reference/commandline/info.html)

```bash
$ docker info
```

### [サーバからリアルタイムのイベントを取得する](http://docs.docker.jp/engine/reference/commandline/events.html)

```bash
$ docker events
```

### [コンテナを停止状態で作成する](http://docs.docker.jp/engine/reference/commandline/create.html)

```bash
$ docker create --name sample-centos -i -t centos:centos7
```

### [コンテナを起動状態で作成する](http://docs.docker.jp/engine/reference/commandline/run.html)

```bash
$ docker run --name sample-centos -i -t centos:centos7
```

### [コンテナ一覧を表示する](http://docs.docker.jp/engine/reference/commandline/ps.html)

起動中のコンテナを一覧で出力する場合

```bash
$ docker ps
```

プロセスのステータスに関係なくコンテナを一覧で出力する場合

```bash
$ docker ps -a
```

### [コンテナのリソース状況を表示する](http://docs.docker.jp/engine/reference/commandline/stats.html)

全てのコンテナのリソース状況を表示する

```bash
$ docker stats -a
```

全てのコンテナのリソース状況を１度だけ表示する

```bash
$ docker stats -a --no-stream
```

指定のコンテナのリソース状況を１度だけ表示する

```bash
$ docker stats --no-stream sample-centos
```

### [コンテナを削除する](http://docs.docker.jp/engine/reference/commandline/rm.html)

```bash
$ docker rm sample-centos
```

### [コンテナを起動する](http://docs.docker.jp/engine/reference/commandline/start.html)

```bash
$ docker start sample-centos
```

### [コンテナを停止する](http://docs.docker.jp/engine/reference/commandline/stop.html)

```bash
$ docker stop sample-centos
```

### [コンテナを強制的に停止する](http://docs.docker.jp/engine/reference/commandline/kill.html)

```bash
$ docker kill sample-centos
```

### [コンテナを再起動する](http://docs.docker.jp/engine/reference/commandline/restart.html)

```bash
$ docker restart sample-centos
```

### [コンテナを一時的に停止する](http://docs.docker.jp/engine/reference/commandline/pause.html)

```bash
$ docker pause sample-centos
```

### [コンテナの一時停止を解除する](http://docs.docker.jp/engine/reference/commandline/unpause.html)

```bash
$ docker unpause sample-centos
```

### [実行中のコンテナでコマンドを実行する](http://docs.docker.jp/engine/reference/commandline/exec.html)

```bash
$ docker exec -i -t sample-centos echo "Hello World"
```

### [実行中のコンテナにアタッチする](http://docs.docker.jp/engine/reference/commandline/attach.html)

```bash
$ docker attach sample-centos
```

### [ホスト-コンテナ間のディレクトリ・ファイルをコピーする](http://docs.docker.jp/engine/reference/commandline/cp.html)

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

```bash
$ docker cp sample-centos:/home/root/test.txt ./
```

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

```bash
$ docker cp ./test.txt sample-centos:/home/root/
```

### [コンテナの名称を変更する](http://docs.docker.jp/engine/reference/commandline/rename.html)

```bash
$ docker rename old-sample-centos new-sample-centos
```

### [コンテナの設定を更新する](http://docs.docker.jp/engine/reference/commandline/update.html)

コンテナの CPU 共有上限を 512 に設定する

```bash
$ docker update --cpu-shares 512 sample-centos
```

### [コンテナのログを取得する](http://docs.docker.jp/engine/reference/commandline/logs.html)

```bash
$ docker logs sample-centos
```

### [コンテナに対するマッピング（割り当て）を一覧表示する](http://docs.docker.jp/v1.11/engine/reference/commandline/port.html)

```bash
$ docker port nginx
```

### [コンテナで実行中のプロセスを表示する](http://docs.docker.jp/engine/reference/commandline/top.html)

```bash
$ docker top sample-centos
```

### [レジストリからイメージやリポジトリを取得する](http://docs.docker.jp/engine/userguide/dockerimages.html)

```bash
$ docker image pull centos:centos7
```

### [イメージやリポジトリをレジストリに送信する](http://docs.docker.jp/engine/reference/commandline/push.html)

```bash
$  docker push username/sample-centos:latest
```

### [DockerHubのイメージを検索する](http://docs.docker.jp/engine/reference/commandline/search.html)

公式ビルドイメージのCentOSをDockerHubから検索する

```bash
$ docker search --filter "is-official=true" centos
```

### [Dockerレジストリ・サーバに登録またはログインする](http://docs.docker.jp/engine/reference/commandline/login.html)

Docker Hubへログインする

```bash
$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: 
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
```

### [Dockerレジストリからログアウトする](http://docs.docker.jp/engine/reference/commandline/logout.html)

Docker Hubからログアウトする

```bash
$ docker logout
```

### [イメージを一覧表示する](http://docs.docker.jp/engine/userguide/dockerimages.html)

```bash
$ docker images
```

### [１つまたは複数のイメージを削除する](http://docs.docker.jp/engine/reference/commandline/rmi.html)

```bash
$ docker rmi centos
```

### [イメージの履歴を表示する](http://docs.docker.jp/engine/reference/commandline/history.html)

```bash
$ docker history centos:centos7
```

### [コンテナの変更を元に新しいイメージを作成する](http://docs.docker.jp/engine/reference/commandline/commit.html)

```bash
$ docker container commit sample-centos centos:new-sample-centos
```

### [コンテナのファイルシステムに対する変更を調査する](http://docs.docker.jp/engine/reference/commandline/diff.html)

```bash
$ docker diff apache
```

### [リポジトリ内のイメージにタグ付けする](http://docs.docker.jp/engine/reference/commandline/tag.html)

```bash
$ docker tag b5b4d78bc90c new-tag-centos:new-tag-centos7
```

### [パスにあるソースコードから新しいイメージを構築する](http://docs.docker.jp/engine/reference/commandline/build.html)

apacheのイメージを作成する例を示す。

Dockerfileを作成する

```Dockerfile:Dockerfile
FROM centos:centos7
RUN yum -y update
RUN yum -y upgrade
RUN yum install -y httpd
RUN systemctl enable httpd
RUN echo "Hello World!" > /var/www/html/index.html
EXPOSE 80
```

イメージを作成する

```bash
$ docker build -t apache .
```

作成したイメージを起動する

```bash
$ docker run -d --privileged -p 80:80 --name apache apache /sbin/init
```

### [コンテナをtar形式のファイルにエクスポートする](http://docs.docker.jp/engine/reference/commandline/export.html)

コンテナをtar形式のファイルにエクスポートする

```bash
$ docker export -o apache.tar apache
```

### [tar形式コンテナのエクスポートファイルをイメージとしてインポートする](http://docs.docker.jp/engine/reference/commandline/import.html)

tar形式コンテナのエクスポートファイルをイメージとしてインポートする

```bash
$ cat apache.tar | docker import - new-apache:latest
```

### [イメージをtar形式のファイルにセーブする](http://docs.docker.jp/engine/reference/commandline/save.html)

イメージをtar形式のファイルにエクスポートする

```bash
$ docker save -o apache.tar apache
```


### [tar形式のセーブファイルをイメージとしてロードする](http://docs.docker.jp/engine/reference/commandline/load.html)

```bash
$ docker load --input apache.tar
```

### [イメージ、コンテナに関する詳細を表示する](http://docs.docker.jp/engine/reference/commandline/inspect.html)

イメージに関する詳細を表示する

```bash
$ docker inspect centos:centos7
```

コンテナに関する詳細を表示する

```bash
$ docker inspect sample-centos
```

## Dockerボリュームコマンド詳細

### [ボリュームを作成する](http://docs.docker.jp/engine/reference/commandline/volume_create.html)

```bash
$ docker volume create sample-volume
```

### [ボリュームに関する詳細を表示する](http://docs.docker.jp/engine/reference/commandline/volume_inspect.html)

```bash
$ docker volume inspect sample-volume
```

### [ボリューム一覧を表示する](http://docs.docker.jp/engine/reference/commandline/volume_ls.html)

```bash
$ docker volume ls 
```

### [ボリュームを削除する](http://docs.docker.jp/engine/reference/commandline/volume_rm.html)

```bash
$ docker volume rm sample-volume
```

## Dockerネットワークコマンド詳細

### [コンテナをネットワークに接続する](http://docs.docker.jp/engine/reference/commandline/network_connect.html)

```bash
$ docker network connect sample-network sample-centos
```

### [Dockerネットワークを作成する](http://docs.docker.jp/engine/reference/commandline/network_connect.html)

```bash
$ docker network create sample-network
```

### [Dockerネットワークからコンテナを切断する](http://docs.docker.jp/engine/reference/commandline/network_disconnect.html)

```bash
$ docker network disconnect sample-network sample-centos
```

### [Dockerネットワークの詳細情報を表示する](http://docs.docker.jp/engine/reference/commandline/network_inspect.html)

```bash
$ docker network inspect sample-network
```

### [Dockerネットワーク一覧を表示する](http://docs.docker.jp/engine/reference/commandline/network_ls.html)

```bash
$ docker network ls
```

### [Dockerネットワークを削除する](http://docs.docker.jp/engine/reference/commandline/network_rm.html)

```bash
$ docker network rm sample-network
```

## DockerComposeコマンド詳細

### [ビルドを実行する](http://docs.docker.jp/compose/reference/build.html)

```bash
$ docker-compose build
```

### [Composeファイルを確認・表示する](http://docs.docker.jp/compose/reference/config.html)

```bash
$ docker-compose config
```

### [サービス用のコンテナを作成する](http://docs.docker.jp/compose/reference/create.html)

```bash
$ docker-compose create nginx
```

### [コンテナを停止し、upで作成したコンテナ・ネットワーク・ボリューム・イメージを削除する](http://docs.docker.jp/compose/reference/down.html)

```bash
$ docker-compose down
```
### [プロジェクト内の各コンテナのイベントを表示する](http://docs.docker.jp/compose/reference/events.html)

```bash
$ docker-compose events
```

### [コマンドのヘルプと使い方の指示を表示する](http://docs.docker.jp/compose/reference/help.html)

```bash
$ docker-compose help
```

### [SIGKILLシグナルを送信し、実行中のコンテナを強制停止する](http://docs.docker.jp/compose/reference/kill.html)

```bash
$ docker-compose kill -s SIGINT
```

### [サービスからのログ出力を表示する](http://docs.docker.jp/compose/reference/logs.html)

```bash
$ docker-compose logs
```

### [サービスを実行しているコンテナを一時停止する](http://docs.docker.jp/compose/reference/pause.html)

```bash
$ docker-compose pause nginx
```

### [停止中のサービスを再開する](http://docs.docker.jp/compose/reference/unpause.html)

```bash
$ docker-compose unpause nginx
```

### [コンテナ一覧を表示する](http://docs.docker.jp/compose/reference/ps.html)

```bash
$ docker-compose ps
```

### [サービス用イメージを取得する](http://docs.docker.jp/compose/reference/pull.html)

```bash
$ docker-compose pull nginx
```

### [サービスを再起動する](http://docs.docker.jp/compose/reference/restart.html)

```bash
$ docker-compose restart
```

### [停止済みのサービス・コンテナを削除する](http://docs.docker.jp/compose/reference/rm.html)

```bash
$ docker-compose rm nginx
```

### [サービスに対して１回コマンドを実行する](http://docs.docker.jp/compose/reference/run.html)

```bash
$ docker-compose run centos echo "test"
```

### [既存のコンテナをサービスとして起動する](http://docs.docker.jp/compose/reference/start.html)

```bash
$ docker-compose start nginx
```

### [稼働中のコンテナを停止する。※コンテナは削除しない](http://docs.docker.jp/compose/reference/stop.html)

```bash
$ docker-compose stop nginx
```

### [サービス用のコンテナの構築・作成・起動・アタッチする](http://docs.docker.jp/compose/reference/up.html)

フォアグラウンドでコンテナを実行する

```bash\
$ docker-compose up
```

バックグラウンドでコンテナを実行する

```bash
$ docker-compose up -d
```