3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Docker コマンド チートシート

Last updated at Posted at 2019-05-02

はじめに

本ページでは、コンテナ型仮想化環境 Docker について、
初めて触るという方のために 主要なコマンド を掲載しています。

Docker コマンドの チートシート としてお使いいただくこともできますし、
掲載しているコマンドを上から順にお試しいただくことで、
Docker の動作を確認できる ハンズオン としてお使いいただくこともできます。

前提条件

  • Docker がインストールされていること
    ※未インストールの場合は、こちら を参考にインストールを実施してください。

DockerHub

https://hub.docker.com/
Dockerコンテナを公開可能なインターネット上の共有リポジトリです。
世界中から、Dockerコンテナを取得・公開・共有することができます。


Docker コマンド

上から順にコマンドを追うことで、ハンズオンとしてもお使いいただけます。

Docker イメージ関連のコマンド

DockerHubからDockerイメージを検索

$ docker search <IMAGE>

--------------------------------------------------
[ex] 'nginx' で検索
$ docker search nginx

Dockerイメージの取得(Pull)

$ docker pull <IMAGE>[:TAG]

--------------------------------------------------
[ex] 'nginx:1.12' のDockerイメージを取得
$ docker pull nginx:1.12

tag指定を省略した場合、デフォルトで latest が指定される。

取得した Dockerイメージ 一覧を表示

$ docker images

Dockerイメージの削除

$ docker rmi <IMAGE>[:TAG]

--------------------------------------------------
[ex] 'nginx:1.12' のDockerイメージを削除
$ docker rmi nginx:1.12

Dockerコンテナ操作関連のコマンド

Dockerコンテナを作成、起動

$ docker run -d -it --name <CONTAINER_NAME> -p <ホストのポート>:<コンテナのポート> <IMAGE>[:tag]

[ex] 'nginx:1.12' のDockerイメージから、'test-nginx'という名前のコンテナを作成。
    コンテナの80ポートを、ホストの8080ポートでポートフォワーディング。
$ docker run -d -it --name test-nginx -p 8080:80 nginx:1.12

ローカルにDockerイメージが存在すれば、そのイメージを用いて起動。
Dockerイメージが存在しなければ、自動的にDockerHubからpullを行ってから起動。

#####nginx接続確認
ブラウザを起動し、http://<ホストのIPアドレス>:8080 にアクセス。

#####起動オプション

  • -d:コンテナをバックグラウンドで実行
  • -it:コンテナの標準入力、およびtty(端末デバイス)の提供
  • --name:識別しやすいようにコンテナにユーザ指定の名称を付与
  • -p:ホストのIPをコンテナのIPとマッピング

Dockerコンテナ 一覧を確認

$ docker ps -a

-a オプションをつけると、停止中のコンテナを含め全てのコンテナを表示

Dockerコンテナ に接続

$ docker exec -it <CONTAINER> /bin/bash

[ex] test-nginx コンテナに接続
$ docker exec -it test-nginx /bin/bash

Dockerコンテナ からログアウト

$ exit

Dockerコンテナ と ホスト間で、ファイルやフォルダのコピー

### コンテナからホストへコピー
$ docker cp <CONTAINER>:<コンテナのパス> <保存するホストのパス>

### ホストからコンテナへコピー
$ docker cp <ホストのパス> <CONTAINER>:<保存するコンテナのパス>

Dockerコンテナ情報を確認

$ docker inspect <CONTAINER>

[ex] test-nginx コンテナ情報を確認
$ docker inspect test-nginx

Dockerコンテナログを取得

$ docker logs <CONTAINER>

[ex] test-nginx コンテナのログを取得
$ docker logs test-nginx

--tail=10:末尾から10行表示
-f:出力を表示しつづける

Dockerコンテナ 停止

$ docker stop <CONTAINER>

[ex] test-nginx コンテナを停止
$ docker stop test-nginx

Dockerコンテナ 再起動

$ docker start <CONTAINER>

[ex] test-nginx コンテナを再起動
$ docker start test-nginx

Dockerコンテナ 削除

$ docker rm <CONTAINER>

[ex] test-nginx コンテナを削除(コンテナを停止させてから実行)
$ docker stop test-nginx
$ docker rm test-nginx

後片付け

ハンズオンとしてコマンドを上から順にお試しいただいた方は、
最後に Dockerイメージを削除すれば元どおりの状態になります。

$ docker rmi nginx:1.12

以上です。お疲れ様でした。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?