Docker をはじめて少し使ってみました
Docker を少しさわってみたので、基本的な使い方とコマンドについて簡単に書きます。
環境は Windows 10 (64bit) です。
Docker とは
アプリケーションの実行に必要なもの(OS、WEBサーバー、データベースとか)をまるごとまとめて簡単に管理できる便利ツールです。
設定をまとめたものを Docker イメージと呼びます。
Ubuntu 用イメージや MySQL 用イメージ、nginx 用イメージなどがあり、これらを組み合わせて Docker コンテナ を作成します。
Docker コンテナが独立したサーバー機能を実現します。
Docker Hub
Docker Hub にいろいろイメージがあります:https://hub.docker.com
準備
Windows なら公式サイトから Docker Tools をインストールします。
いちあおは DockerToolbox-1.12.2.exe
という名前のインストールファイルでした。
Git や VirtualBox も一緒にインストールできますが、いらなければチェックを外しておきます。
Docker Quickstart Terminal
からコンソールを起動します。
Docker を実行:
docker-machine ssh default
適当な ssh クライアントを使うと便利です:
- ホスト名 : 192.168.99.100
- ユーザー名 : docker
- パスワード : tcuser
イメージ関連のコマンド
Docker イメージのダウンロード:
docker pull ubuntu:latest
latest
の箇所はタグ名で、latest
は最新バージョンを意味します。
タグ名を省略すると最新バージョンになります。
イメージの一覧:
docker images
イメージの情報:
docker inspect ubuntu
イメージの情報のうち OS の値を表示
docker inspect --format="{{ .Os }}" ubuntu
イメージの検索:
docker search ubuntu
スター 30 以上のイメージを検索:
docker search ubuntu --stars=30
イメージの削除:
docker rmi ubuntu
Docker Hub 関連のコマンド
Docker Hub にログイン:
docker login [サーバ名]
Docker Hub にアップロード:
docker push ユーザー名/イメージ名:[タグ名] [サーバ名]
Docker Hub からログアウト:
docker logout [サーバ名]
コンテナ関連のコマンド
コンテナ生成/起動の対話的実行:
docker run -it --name "test" ubuntu /bin/bash
"test"
の箇所はコンテナ名です。
コマンドの引数のコンテナIDの代わりに使えます。
下記のようにすると exit
で bash から抜けても再起動がかかるようになります:
docker run -it --restart=always ubuntu /bin/bash
コンテナ生成/起動のバックグラウンド実行:
docker run -d ubuntu /bin/ping localhost
このように -d
オプションをつけるとバックグラウンドで実行されます。
ログの確認:
docker logs [コンテナID]
オプション -t
をつけるとタイムスタンプも表示します。
稼働コンテナ一覧:
docker ps
オプション -a
をつけると停止中のものも表示します。
オプション --format
で出力形式を指定できます:
docker ps -a --format="table {{ .CreatedAt}}\t{{ .ID }}\t{{ .Image}}\t{{ .Status }}\t{{ .RunningFor }}"
コンテナの稼働確認:
docker stats [コンテナID]
コンテナの中断:
docker pause [コンテナID]
コンテナの再開:
docker restart [コンテナID]
コンテナ再起動:
docker restart [コンテナID]
コンテナ停止:
docker stop [コンテナID]
コンテナ起動:
docker start [コンテナID]
コンテナ削除:
docker rm [コンテナID]
コンテナ一括削除:
docker rm $(docker ps -a -q)
コンテナ一括削除(起動中のも):
docker rm -f $(docker ps -a -q)
コンテナの名前変更:
docker rename [変更前コンテナ名] [変更後コンテナ名]
Docker Content Trust (DCT)
第三者からのなりすまし、改ざんを防ぐための機能です。
デフォルトでは無効です。
DCT の有効化:
export DOCKER_CONTENT_TRUST=1
DCT の無効化:
export DOCKER_CONTENT_TRUST=0
一時的に無効/有効化することもできます:
docker pull --disable-content-trust=false ubuntu:latest docker pull --disable-content-trust ubuntu:latest
つづく..._〆(≡q )