[チートシート]minikube, dockerコマンドまとめ

[チートシート]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アドレスが確認できる。
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
1
$ docker container run [OPTION] NAME[:TAG] [COMMAND]
  • 省略コマンドは以下
1
$ docker run

コンテナ停止

  • 指定したコンテナを停止する
    • 引数:
      • CONTAINER: コンテナID
1
$ docker container stop CONTAINER
  • 省略コマンドは以下
1
$ docker stop

コンテナ一覧

  • コンテナを一覧表示する
    • 引数:
      • OPTION
        • -a: 停止中のコンテナも表示
          • オプション指定しない場合、起動中のコンテナのみが表示される。
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 .
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]

コメント