Dockerコマンドを使用したチートシート

ご注意 perev。 :1週間前、eralabsを実行し、Painless Dockerトレーニングコースを作成したAymen El Amriは、基本的なDockerコマンドのチートシートであるDocker Cheat Sheetを公開しました。 GitHub にあるこのドキュメントのGitリポジトリは 、すでに1000以上の星と複数のサードパーティの貢献者を獲得しており、その関連性と有用性を確認しています。



ここで紹介するコマンドは最小限(説明をそのまま読みやすくするため)に説明されており、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リポジトリで利用可能であり、更新されていることを思い出させてください。 著者は、コミュニティからの修正/追加に満足します。

ブログもご覧ください。

Source: https://habr.com/ru/post/J336654/


All Articles