はじめに
本ページでは、コンテナ型仮想化環境 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
以上です。お疲れ様でした。