概要
うちの冷蔵庫には常時冷凍うどんが入っており、ちょっと小腹がすいた時にはとても重宝しています。一人暮らしを初めてこの冷凍うどんという存在を知った時は私の中で軽い革命が起こりました。これが稀に中途半端なうどん屋より旨いと感じるときがある。食べたい時に食す、これが1番の調味料という訳です。
インフラ構築もインフラを構築したいとか酔狂な人間以外は、食したい時に食したいものでして。まぁ、随分と助けられているわけでして。とりあえず、Dockerのレシピ集を個人で徒然成るままにまとめるわけですがあんまり需要もないわけでして。- 概要
- docker version
- docker info
- docker run
- docker ps
- docker start
- docker rm
- docker pull
- docker build
- docker images
- docker rmi
- 最後に
- 参照
docker version
Dockerのバージョン表示
$ docker version
docker info
コンテナ・イメージ数、ユーザ情報など現在の情報表示
$ docker info
docker run
$ docker run -h nwiizo -i -t ubuntu /bin/bash
-h
ホスト名。
--name
でコンテナに名前を付けられる。
-i
を付けると起動時にSTDOUT を開きっぱなしにしてくれる。
--rm
これを付けると docker を終了させると同時に docker コンテナを削除してくれる。
-t
仮想端末を割り当てる-i
と大体一緒に使います。
-d
を使う事でバックグラウンドで起動できる。
-c
コンテナ起動時に CPU 相対的使用率を指定する
-m
を使う事でメモリ容量を指定できる。単位は b,k,m,g です。
-v
でホストにマウントできます。
docker run -v [ホストディレクトリの絶対パス]:[コンテナの絶対パス] [イメージ名] [コマンド]
ホストの/lib/modulesをコンテナの/lib/modulesにマウントします。
docker run -v /lib/modules:/lib/modules dummy-img /bin/bash
-p
でポートの指定
Nginxの実行(8080番で実行)
$ docker run -p 8080:80 nginx
docker ps
現在動いているコンテナ一覧を表示
$ docker ps
停止しているコンテナも含めたすべてのコンテナ一覧を表示
$ docker ps -a
docker start
コンテナを起動してログイン
$ docker start [ContanerID]
-a
を付けると attach します。
$ docker start -a [ContanerID]
docker rm
停止中のコンテナを一気に削除する
$ docker rm `docker ps -aq`
コンテナをすべて強制的に削除する
$ docker rm -f `docker ps -aq`
docker pull
イメージを引っ張ってくる
$ docker pull ubuntu $ docker pull centos # タグを使ってイメージのバージョンを指定する $ docker pull ubuntu:16.04
docker build
「Dockerfile」ファイルからイメージを作成まで実行します。
書式としてはこんな感じ…。
$ docker build [ -t {イメージ名} [ :{タグ名} ] ] {Dockerfileのあるディレクトリ}
キャッシュをオフ
$ docker build --no-cache=true
docker images
イメージの一覧を表示する
$ docker images
docker rmi
イメージの削除
$ docker rmi <ImageID>
Docker commit
$ docker commit [options] [containar ID] [repository:tag]
リンク集
コンテナ操作
- attach コンテナにアタッチ
- cp コンテナ・ホスト間でのファイルコピー
- create コンテナ作成
- diff コンテナのファイルシステム差分表示
- exec 既存コンテナでコマンド実行
- export コンテナをtarファイルで保存
- history コンテナの履歴を表示
- import tarファイルからコンテナ作成
- inspect コンテナ・イメージの情報表示
- kill コンテナの終了
- logs コンテナのログ(出力)取得
- pause コンテナの一時停止
- port 公開ポートの表示
- ps コンテナ一覧表示
- rename コンテナ名の変更
- restart コンテナの再起動
- rm コンテナの削除
- run コンテナの実行
- start コンテナの実行
- stats コンテナのリソース利用状況表示
- stop コンテナの停止
- top コンテナの実行状況表示
- unpause コンテナの再開
- update コンテナの設定を動的に変更
- wait コンテナの終了を待つ
イメージ操作
- build イメージのビルド
- commit コンテナからイメージ作成
- images イメージ一覧表示
- inspect コンテナ・イメージの情報表示
- load tarファイルからイメージ作成
- rmi イメージの削除
- save イメージをtar保存
- tag イメージにタグ名を設定
Docker Hub(レジストリ)
- login Docker Hub(レジストリ)にログイン
- logout Docker Hub(レジストリ)からログアウト
- pull Docker Hub(レジストリ)からコンテナ取得
- push Docker Hub(レジストリ)にコンテナ保存
- search Docker Hub(レジストリ)の検索
ネットワーク
- network connect コンテナをネットワークに接続
- network create ネットワーク作成
- network disconnect コンテナのネットワークからの切断
- network inspect ネットワークの状態表示
- network ls ネットワーク一覧
- network rm ネットワークの削除
ボリューム操作
- volume create ボリュームの作成
- volume inspect ボリュームの内容表示
- volume ls ボリュームの一覧表示
- volume rm ボリュームの削除
Swarmクラスタ
- node accept Swarmノードをクラスタに追加
- node demote Swarmノードをマネージャからワーカーに降格
- node inspect Swarmノードの状態表示
- node ls Swarmノードの一覧表示
- node promote Swarmノードをワーカからマネージャに昇格
- node rm Swarmノードをクラスタから削除
- service create Swarmクラスタ上にサービス作成
- service inspect Swarmクラスタ上にサービス状態表示
- service ls Swarmクラスタ上のサービ一覧表示
- service rm Swarmクラスタ上のサービス削除
- service scale Swarmクラスタ上のサービスのコンテナ数(task)変更
- service task Swarmクラスタ上のサービスのコンテナ(task)一覧表示
- service update Swarmクラスタ上のサービスの設定変更
- swarm init Swarmクラスタの作成
- swarm join Swarmクラスタへのノード追加
- swarm leave Swarmクラスタからのノード削除
- swarm update Swarmクラスタの設定変更
プラグイン
- plugin disable プラグインの無効化
- plugin enable プラグインの有効化
- plugin inspect プラグインの状態表示
- plugin install プラグインのインストール
- plugin ls プラグインの一覧表示
- plugin rm プラグインの削除
その他
- daemon サーバ起動
- events イベントの監視
- info Dockerの情報表示
- system df ディスク利用状況の表示
- system prune 不要なファイルの削除
- version バージョン表示
最後に
徐々に追加して行きたい!!!