環境変数 †
- ホームディレクトリ $HOME にある .docker ディレクトリ内に保管されている設定ファイルをデフォルトで使う
コマンド †
コンテナ †
起動 †
# docker container run -i -t centos:latest /bin/bash
- -i ... コンテナへのキーボード入力を有効にする
- -t ... シェルのプロンプト表示を有効にする
コンテナ一覧を表示 †
# docker ps
- オプションなしだと起動中のみ表示
- -a 停止中を含む全てのコンテナを表示
- --no-trunc 長いコマンドなどを省略せずにすべて表示
コンテナの全情報を表示 †
# docker inspect [コンテナID]
コンテナのリソース消費状況を確認 †
# docker stats コンテナ名, コンテナ名,...
コンテナ内のプロセス一覧を表示 †
# docker top コンテナ名
コンテナを起動 †
# docker start [コンテナID]
コンテナを停止 †
# docker stop [コンテナID]
コンテナを再起動 †
# docker restart [コンテナID]
コンテナ内に入る †
# docker exec -it [コンテナ名] /bin/bash
コンテナから出る †
- Ctrl+p Ctrl+q
- exit で抜けるとコンテナが終了してしまうので注意!
コンテナの一括停止 †
# docker stop $(docker ps -q)
コンテナの一括削除 †
# docker rm $(docker ps -aq)
ボリューム一覧 †
# docker volume ls
ボリューム削除 †
# docker volume rm [ボリューム名]
未使用ボリューム一括削除 †
# docker volume prune
イメージの一括削除 †
# docker rmi `docker images -aq`
イメージ †
イメージ検索 †
# docker search [検索ワード]
イメージ取得 †
# docker pull [イメージ]
イメージ確認 †
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/jwilder/nginx-proxy latest 0951ca3d8b69 5 days ago 247.5 MB
docker.io/meanjs/mean latest 919ddbf406fc 10 days ago 763.4 MB
イメージからコンテナ作成 †
# docker run --name [コンテナ名] [イメージ] [コマンド]
ex) $ docker run --name centos01 -i -t centos /bin/bash
- --name コンテナ名を定義(ホスト名ではない)
- -d コンテナをバックグラウンドで動かす
- -p [ホスト側のポート番号]:[コンテナ内サービスがLISTENするポート番号] -p :80 のようにコンテナ側のみ指定も可能
- -i 起動してコンソールを開く
- -t TTY(-it のように使う)
- -e [環境変数]
- --volumes-from [データコンテナ名]
- --expose [ポート番号] Expose a port or a range of ports
- --rm=true コンテナをexitした時に自動的にコンテナを削除
- --add-host=[host:ip] コンテナのhostsにホスト名と対応するIPアドレスを書き込む
- --dns=[] DNSサーバ指定する
- --dns-search=[] DNSドメイン名指定する
- -h ホスト名を指定する
- --mac-address=[] MACアドレスを指定する
- -m メモリ制限値を指定する(割り当てではない)
- --read-only=true コンテナを読み取り専用にする
- --restart=always コンテナが終了した時にDockerデーモンがコンテナを再起動させる
- -v ホストのディレクトリをマウントする(ホスト/tmpに コンテナ/homeを割り当てる場合/tmp:/home)
- -w コンテナにワーキングディレクトリを作成する-vと組み合わせて使う?
- -net 使用するネットワークを指定する
- noneの場合ネットワークが割り当てられない。
- hostを使用する場合ホストのIPを使用する。=> でも外部からはコンテナにつながらない