Docker
Dockerの起動
$ sudo systemctl start docker
Docker hubへのログイン/ログアウト
$ docker login/logout
Docker image一覧
$ docker image ps
REPOSITORYはイメージの名前。
Docker image ダウンロード
$ docker image pull [オプション] [イメージ名:タグ名]
$ docker image pull [URL]
例:
$ docker image pull centos:7
DockerへアップロードしたImageをダウンロードすることも可能。
$ docker pull [dockerhubのユーザ名]/[イメージ名:タグ名]
タグ名を省略されると、最新版がダウンロードされます。-aオプションを指定すると、すべてのイメージがダウンロードされます。
Docker imageの詳細
$ docker image inspect centos:7
イメージID、作成日、Dockerバージョン、CPUアーキテクチャ
Dockerでイメージにタグ名を設定
$ docker image tag [イメージ名] [dockerhubユーザ名]/[コンテナ名]:[バージョン]
イメージの検索
$ docker search --limit 検索キーワード
未使用のdockerイメージの削除
$ docker image prune [オプション]
オプション:
--all, --a 使用していないイメージをすべて削除
--force, --f イメージを強制的に削除する
Docker container一覧
$ docker container ps
$ docker ps -all
Docker container 起動/停止/削除
$ docker container run/start/stop/rm [コンテナ名]
------
runは生成&起動です。
-dオプションをつけると、バックグラウンドで動きます。
コンテナのログの確認
$ docker container logs -t [コンテナ識別子]
コンテナ起動の最も簡単な一例
$ docker container run -it --name "test1" centos /bin/cal
------
docker container runはコンテナを作成、実行
-itはコンソールに結果を出すオプション
--name "test1"はコンテナ名
centosはイメージ名
/bin/cal/はコンテナで実行するコマンド。/bin/bashを入力すると、コンテナ内でシェルを実行することもできます。
Dockerイメージの中に入る
イメージの一覧からログインしたいイメージを確認します。
$ docker images
REPOSITORYカラムに表示されている名称を指定して、以下のコマンドでイメージにログインします。
$ docker run --rm -t -i イメージ名 /bin/bash
container 稼動確認
$ docker container stats コンテナ名
コンテナへ入る
$ sudo docker exec -it [コンテナID] bash
containerの起動/停止
$ docker start/stop コンテナ名
Dockerの実行環境確認
コンテナの数、Dockerのバージョン、ストレージドライバの種類、OSの種類、アーキテクチャ
$ docker system info
Dockerのディスク利用状況(詳細確認-v)
$ docker system df
Docker 応用編
$ docker container run --name webserver -d -p 8080:80 nginx
Dockerイメージnginxを使ってwebserverという名前のDockerコンテナを起動します。その際、ブラウザからHTTP80番ポートでのアクセスを許可するため、-pオプションでコンテナからの転送を許可しています。
ホストの8080ポートにアクセスすると、コンテナ上で動作しているNginx(80番ポート)のサービスにアクセスできます。また、指定したレンジのポート番号を割り当てたいときは、--exposeオプションを使用します。さらに、ホストマシンの任意のポートを割り当てるときは、-Pオプションを使用します。
そのほかに、DNSサーバ、MACアドレスの指定も可能です。
コンテナをtarファイル出力
$ docker container export [コンテナ識別子]
例:
$ docker container export [コンテナ識別子] > [ファイル名.tar]
生成されたtarファイルの中身を確認する。
$ tar -tf [tarファイル名] | more
Docker-compose
Dockerコンテナのシェルの中に入る
$ docker exec -i -t コンテナ名 bash
複数のDockerコンテナの起動/リソース削除/停止/確認
$ docker-compose up/down/stop/ps/logs
Compose定義ファイルのバージョンとDokcer Engineのバージョンにマッピング関係があります。
それぞれに対応するバージョンがあります。
コンテナの生成
$ docker-compose up --build
任意の名前のDockerfileをビルドするときは、[dockerfile]を指定します。その際、DockerfileがあるディレクトリのパスやGitレポジトリのURLをcontextで指定します。
services:
webserver:
build:
context: /data
dockerfile: Dockerfile-alternate
一発でコンテナを削除
https://qiita.com/shisama/items/48e2eaf1dc356568b0d7