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リポジトリで利用可能であり、更新されていることを思い出させてください。 著者は、コミュニティからの修正/追加に満足します。



ブログもご覧ください。






All Articles