[チートシート]minikube, dockerコマンドまとめ
当ページのリンクには広告が含まれています。
よく使うコマンドを一覧化しました。
✓目次
Version確認
docker version確認
1 | $ docker version |
kubectl version確認
1 | $ kubectl version |
kubernetesクラスタを操作(minikube)
minikube起動
1 | $ minikube start |
minikube停止
1 | $ minikube stop |
状態確認
1 | $ minikube status |
- ただし、実行環境がVirtualBoxではなくVMWare workstation等の場合は、
--vm-driver=none
をコマンドの末尾に付与する必要がある。例えば、移動する場合は以下の通り
1 | $ minikube start --vm-driver=none |
アドオン操作
- アドオンはminikubeに付属している機能で、様々なオプションを追加削除できる。
アドオン追加
1 | $ minikube addons enable ADDON_NAME |
アドオン削除
1 | $ minikube addons disable ADDON_NAME |
アドオン一覧確認
1 | $ minikube addons list |
リソース作成
- マニフェストファイルを作成したら、マニフェストファイルを指定してリソース作成/変更を行う
- オプション:
-f <filename>
: マニフェストファイルパス
- 例:
kubectl apply -f hoge.yml
- オプション:
1 | $ kubectl apply -f <filename> |
リソース確認
- 作成したリソースを確認
- オプション
-f <filename>
: マニフェストファイルパスTYPE
: リソース種別(pod, replicasetなど)
- 例:
kubectl get pod
- オプション
1 | $ kubectl get [-f <filename> [TYPE]] |
リソース削除
- 指定したリソースを削除
- オプション:
-f <filename>
: マニフェストファイルパスTYPE/NAME
: リソース種別 or リソース名- 参考(以下の
-o wide
オプションなどは、deleteコマンドにかかわらずgetコマンドでも使用可能。)-o [wide|yaml]
: 出力形式を指定wide
: 追加情報の表示yaml
: YAML形式で表示
- 例:
kubectl delete -f hoge.yml
- 例:
kubectl get pod -o wide
- getコマンドに
-o wide
オプションを付与することでPodのIPアドレスが確認できる。
- getコマンドに
- オプション:
1 | $ kubectl delete [-f <filename>] [TYPE/NAME] [-o [wide | yaml]] |
Secretリソースのコマンド作成
- Secretとは機微情報を扱うリソース。Secretのような秘密データは運用として手動登録になる。
- 引数:
- NAME: Secretリソース名
- OPTION:
--from-literal=KEY=VALUE
: キーバリューペアを指定して登録from-file=[KEY=]PATH
: ファイルを指定して登録
- 引数:
1 | $ kubectl create secret generic NAME OPTION |
Podに入ってコンテナ実行
- Podを作成後、作成したPodに入りシェル操作を行えるようにする。
- 引数:
- POD: 中に入りたいPod名
- 引数:
1 | $ kubectl exec -it POD sh |
Podとホスト間でファイル転送
ファイル転送(ホスト→Pod)
- 指定されたファイルを指定された転送先に送る
- 引数:
- src: 転送元ファイル名/フォルダ名。ホスト側のカレントディレクトリからの相対パスでファイルを指定する。
- pod-name: 転送先のPod名
- dest: 転送先フォルダ名/ファイル名
- 例:
kubectl cp ./hoge.txt debug:/var/tmp/hoge.txt
- 引数:
1 | $ kubectl cp <src> <pod-name>:<dest> |
ファイル転送(Pod→ホスト)
- 指定されたファイルを指定された転送先に送ります
- 引数:
- pod-name: 転送元のPod名
- src: 転送元ファイル名/フォルダ名
- dest: 転送先フォルダ名/ファイル名
- 例:
kubectl cp debug:/root/hoge.txt ./hoge.txt
- 引数:
1 | $ kubectl cp <pod-name>:<src> <dest> |
Podの状態(概況)確認
- Podがうまく動作しなかったときに必要となる。
- 引数:
- TYPE/NAME: リソース種別とリソース名を指定
- 例:
kubectl describe pod/debug
- 引数:
1 | $ kubectl describe [TYPE/NAME] |
Podのログ(詳細)を確認
- Podがうまく動作しなかったときに必要となる
- 引数:
- TYPE/NAME: リソース種別とリソース名を指定
- —tail=n: 直近のnレコードだけ取得
- 例:
kubectl logs pod/nginx
- 引数:
1 | $ kubectl logs [TYPE/NAME] [--tail=n] |
Deploymentにおけるロールアウト履歴確認とロールバック
ロールアウト履歴を表示
- 引数:
- TYPE: リソース種別
- NAME: リソース名
1 | $ kubectl rollout history TYPE/NAME |
ロールバック
- ロールバックの実施
- 引数:
- TYPE: リソース種別
- NAME: リソース名
- —to-revision=N: 指定されたリビジョンに戻す。デフォルトは0(=直前の履歴)
- 引数:
1 | $ kubectl rollout undo TYPE/NAME --to-revision=N |
dockerコマンド
指定されたイメージ取得
- 引数:
- NAME: Dockerイメージ名
- TAG: タグ名。省略した場合はlatestになる。
- 例:
docker image pull centos:7
- 例:
1 | $ docker image pull NAME[:TAG] |
- 省略コマンドは以下
1 | $ docker pull |
イメージ一覧
- 取得済みDockerイメージ一覧を表示
- 引数: なし
1 | $ docker image ls |
- 省略コマンドは以下
1 | $ docker images |
イメージ削除
- 指定されたイメージを削除
- 引数:
- IMAGE: DockerイメージID
- 引数:
- [参考]Dockerイメージの削除には
docker image prune
というコマンドもある。- これは、使われていないイメージを一括削除してくれるコマンド。
- 実際に作業するときは、このコマンドが使いやすい。
1 | $ docker image rm IMAGE |
- 省略コマンドは以下
1 | $ docker rmi |
コンテナ実行
- 指定されたイメージを実行する
- 引数:
- OPTION
-d
:バックグラウンド実行-it
:shell実行する際に合わせて指定する- 例:
docker container run -it NAME sh
- 例:
-e KEY=VALUE
: 環境変数を与える--name NAME
: 実行時のコンテナ名を指定-p CONTANER:HOST
: コンテナポートをホストにマッピング
- COMMAND: 実行時に上書きしたいコマンド
- COMMANDは、Docker実行時にDockerコンテナに与えるコマンド。
- 例:
docker container run -d nginx:1.17.2-alpine
- OPTION
- 引数:
1 | $ docker container run [OPTION] NAME[:TAG] [COMMAND] |
- 省略コマンドは以下
1 | $ docker run |
コンテナ停止
- 指定したコンテナを停止する
- 引数:
- CONTAINER: コンテナID
- 引数:
1 | $ docker container stop CONTAINER |
- 省略コマンドは以下
1 | $ docker stop |
コンテナ一覧
- コンテナを一覧表示する
- 引数:
- OPTION
-a
: 停止中のコンテナも表示- オプション指定しない場合、起動中のコンテナのみが表示される。
- OPTION
- 引数:
1 | $ docker container ls [OPTION] |
- 省略コマンドは以下
1 | $ docker ps |
コンテナ削除(指定型)
- 指定されたコンテナを削除する
- 引数:
- CONTAINER:Dockerコンテナ名
- 引数:
1 | $ docker container rm CONTAINER |
- 省略コマンドは以下
1 | $ docker rm |
コンテナ削除(非指定型)
- 使用されていないコンテナを削除
- 引数:
- なし
- 引数:
1 | $ docker container prune |
コンテナ・イメージ削除
- 使用されていないデータを削除
- 引数:
- なし
- 引数:
1 | $ docker system prune |
ビルド
- 指定されたDockerfileを利用してDckerイメージを作詞絵
- 引数:
- OPTION:
-t
: イメージ名を指定する。「ユーザ名/イメージ名:バージョン名」で指定する形式が一般的- 例:
docker build -f hogehoge/test:v1.0.0
- 例:
-f
: Dockerfileの名前を指定する
- PATH: Dockerfileが保存されているパス
- 例:
docker build -t test .
- OPTION:
- 引数:
1 | $ docker build [OPTION] PATH |
Dockerイメージの公開(DockerHub)
Dockerイメージにタグ名追加
- 引数:
- SRC_NAME: タグ付けしたいDockerイメージ名
- TRG_NAME: 追加したいタグ名
1 | $ docker tag SRC_NAME[:TAG] TRG[:TAG] |
DockerHubへログイン
- 引数:
-u USER
: ユーザ名-p PASSWORD
: パスワード
1 | $ docker login [-u USER] [-p PASSWORD] |
DockerHubへ公開
- 引数:
IMAGE_NAME
: 公開したいDockerイメージ名- 例:
docker push hogehoge/test:v1.0.0
1 | $ docker push IMAGE_NAME[:TAG] |