ここで紹介するコマンドは最小限(説明をそのまま読みやすくするため)に説明されており、Dockerのインストール、レジストリとリポジトリの操作、コンテナ、イメージ、ネットワーク、Docker Swarmが含まれます。 以下は、9月2日の状態のベビーベッドの翻訳で、以下のコメントからの追加です。
設置
Linux
curl -sSL https://get.docker.com/ | sh
Mac
このリンクからdmgをダウンロードします。
https://download.docker.com/mac/stable/Docker.dmg
窓
MSIインストーラーを使用します。
https://download.docker.com/win/stable/InstallDocker.msi
Dockerレジストリおよびリポジトリ
登録エントリ
docker login
docker login localhost:8080
レジストリ出口
docker logout
docker logout localhost:8080
画像検索
docker search nginx
docker search nginx -- filter stars=3 --no-trunc busybox
プル(レジストリからアンロード)イメージ
docker pull nginx
docker pull eon01/nginx localhost:5000/myadmin/nginx
プッシュ(レジストリへのアップロード)イメージ
docker push eon01/nginx
docker push eon01/nginx localhost:5000/myadmin/nginx
コンテナの最初のステップ
コンテナ作成
docker create -t -i eon01/infinite --name infinite
コンテナの最初の打ち上げ
docker run -it --name infinite -d eon01/infinite
コンテナの名前を変更
docker rename infinite infinity
コンテナの取り外し
docker rm infinite
コンテナの更新
docker update --cpu-shares 512 -m 300M infinite
コンテナの起動と停止
停止したコンテナの開始
docker start nginx
やめて
docker stop nginx
再起動
docker restart nginx
一時停止(すべてのコンテナプロセスを一時停止)
docker pause nginx
一時停止
docker unpause nginx
ロック(コンテナが停止するまで)
docker wait nginx
SIGKILL(最終信号)の送信
docker kill nginx
別の信号を送信する
docker kill -s HUP nginx
既存のコンテナに接続する
docker attach nginx
コンテナ情報の取得
作業用コンテナ
docker ps
docker ps -a
コンテナログ
docker logs infinite
コンテナ情報
docker inspect infinite
docker inspect --format '{{ .NetworkSettings.IPAddress }}' $(docker ps -q)
コンテナイベント
docker events infinite
公港
docker port infinite
実行中のプロセス
docker top infinite
リソースの使用
docker stats infinite
コンテナファイルシステム上のファイルまたはディレクトリの変更
docker diff infinite
画像管理
画像のリスト
docker images
画像作成
docker build .
docker build github.com/creack/docker-firefox
docker build - < Dockerfile
docker build - < context.tar.gz
docker build -t eon/infinite .
docker build -f myOtherDockerfile .
curl example.com/remote/Dockerfile | docker build -f - .
画像を削除
docker rmi nginx
tarにリポジトリをロードする(ファイルまたは標準入力から)
docker load < ubuntu.tar.gz
docker load --input ubuntu.tar
イメージをtarアーカイブに保存する
docker save busybox > ubuntu.tar
画像履歴を表示
docker history
コンテナから画像を作成する
docker commit nginx
画像のタグ付け
docker tag nginx eon01/nginx
プッシュ(レジストリへのアップロード)イメージ
docker push eon01/nginx
ネットワーク
ネットワーク作成
docker network create -d overlay MyOverlayNetwork
docker network create -d bridge MyBridgeNetwork
docker network create -d overlay \ --subnet=192.168.0.0/16 \ --subnet=192.170.0.0/16 \ --gateway=192.168.0.100 \ --gateway=192.170.0.100 \ --ip-range=192.168.1.0/24 \ --aux-address="my-router=192.168.1.5" --aux-address="my-switch=192.168.1.6" \ --aux-address="my-printer=192.170.1.5" --aux-address="my-nas=192.170.1.6" \ MyOverlayNetwork
ネットワークを削除
docker network rm MyOverlayNetwork
ネットワークリスト
docker network ls
ネットワーク情報の取得
docker network inspect MyOverlayNetwork
実行中のコンテナをネットワークに接続します
docker network connect MyOverlayNetwork nginx
起動時にコンテナをネットワークに接続する
docker run -it -d --network=MyOverlayNetwork nginx
コンテナをネットワークから切断する
docker network disconnect MyOverlayNetwork nginx
Dockerクリーンアップ
実行中のコンテナを削除する
docker rm nginx
コンテナとそのボリューム(ボリューム)の削除
docker rm -v nginx
終了ステータスのすべてのコンテナを削除します
docker rm $(docker ps -a -f status=exited -q)
停止したコンテナをすべて削除します
docker container prune
docker rm `docker ps -a -q`
コンテナの削除が24時間以上前に停止しました
docker container prune --filter "until=24h"
画像を削除
docker rmi nginx
使用されていない(ダングリング)画像を削除する
docker image prune
docker rmi $(docker images -f dangling=true -q)
タグを使用しても未使用の(ダングリング)画像を削除する
docker image prune -a
すべての画像を削除
docker rmi $(docker images -a -q)
タグなしのすべての画像を削除
docker rmi -f $(docker images | grep "^<none>" | awk "{print $3}")
すべてのコンテナを停止して削除する
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)
未使用(ダングリング)ボリュームの削除
docker volume prune
docker volume rm $(docker volume ls -f dangling=true -q)
フィルターによる未使用(ダングリング)ボリュームの削除
docker volume prune --filter "label!=keep"
未使用のネットワークを削除する
docker network prune
未使用のオブジェクトをすべて削除する
docker system prune
Docker 06.17.1+のデフォルトでは、ボリュームは削除されません。 去り、彼らも:
docker system prune --volumes
Docker swarm
Docker Swarmをインストールする
curl -ssl https://get.docker.com | bash
ご注意 perev。 :Dockerバージョン1.12.0以降では、追加のインストールは不要です。 Docker Swarmは、特別なモード(Swarmモード)としてDocker Engineに組み込まれています。
Swarmの初期化
docker swarm init --advertise-addr 192.168.10.1
ワーカーノードをSwarmに接続する
docker swarm join-token worker
マネージャーノードをSwarmに接続する
docker swarm join-token manager
サービス一覧
docker service ls
ノードのリスト
docker node ls
サービス作成
docker service create --name vote -p 8080:80 instavote/vote
Swarmタスクリスト
docker service ps
サービスのスケーリング
docker service scale vote=3
サービス更新
docker service update --image instavote/vote:movies vote
docker service update --force --update-parallelism 1 --update-delay 30s nginx
docker service update --update-parallelism 5--update-delay 2s --image instavote/vote:indent vote
docker service update --limit-cpu 2 nginx
docker service update --replicas=5 nginx
PS
ご注意 perev。 :Docker Cheat Sheetの元の(英語)バージョンがGitリポジトリで利用可能であり、更新されていることを思い出させてください。 著者は、コミュニティからの修正/追加に満足します。
ブログもご覧ください。