Docker Flashcards
https://www.educative.io/blog/top-40-docker-interview-questions
Docker(Kubernetes) コンテナとは何ですか?
OS内で仮想化されたアプリケーション実行環境
DockerFile とは何ですか?
Dockerイメージの設計図のこと
Docker イメージから Docker コンテナを作成するコマンドは?
1) 起動状態で作成
docker run -d -it –name my_cont_name [IMAGE ID]
2) 停止状態で作成
docker create -it –name my_cont_name [IMAGE ID]
Docker Compose に YAML の代わりに JSON を使用できますか?
はい
docker-compose -f docker-compose.json up
Docker Swarm とは何ですか?
クラスタリング用ツール。
Docker Swarm は標準 Docker API で操作できます。 そのため、Docker ホスト群を集め、1つの仮想 Docker ホストとして扱えます。
Base Imageを使用してそれに変更を加えたい場合は、どうすればよいですか?
docker pull [mage_name]
Docker Hub からローカル システムにイメージをプルできます。
コンテナを起動、停止、強制終了するにはどうすればよいですか?
1) 起動
2) 停止
3) 強制終了
1) 起動
docker start [container_id]
2) 停止
docker stop [container_id]
3) 強制終了
docker kill [container_id]
Docker はどのプラットフォームで実行されますか?
Linux
[Clouds]
Microsoft Azure
Google Compute Engine
Amazon AWS EC2
Amazon AWS ECS
Rackspace
Docker の主要コンポーネントを5つ説明しなさい。
1) Image: 読み込み専用(read-only)のテンプレート
2) Container: imageを基に作成するアプリケーションの実行環境
3) Registry : imageを格納・配布する場所のことを指します。registryと混同しそうなコンポーネントとしてrepositoryがあります。
4) Client : Docker デーモン と通信することで、Docker コンテナの構築・実行・配布といった力仕事をします。
(Docker はクライアント・サーバ型のアーキテクチャ)
5) Host : Docker デーモン、Docker イメージ、および Docker コンテナーを保持します。デーモンは Docker レジストリへの接続を設定します。
仮想化とコンテナ化の違いは何ですか?
- 仮想化: ハードウェア層まで含めたマシン全体を仮想化
- コンテナ化: オペレーティング システム レベル以上のソフトウェア層のみを仮想化
ハイパーバイザーの機能は何ですか?
必要なハードウェア環境を仮想化することで、ソフトウェアの実行を継続するオプションを提供します
ハイパーバイザ型(ネイティブ):
ホスト システムのハードウェアに直接アクセスできる。OSとして 動作するのでOSは不要
ホストOS型:
アプリケーションとし既存OS上で動作する
Dockerfile はどのようなコマンドで構築しますか?
docker build [path to dockerfile]
新しいイメージを Docker レジストリにプッシュするにはどのコマンドを使用しますか?
docker push myorg/img
実行中のコンテナにコンソールログインするにはどのようなコマンドを使用しますか?
docker exec -it [container_id] bash
Docker エンジンとは何ですか?
コンテナを乗せる部分 で、Linux で動く ソフトウェアです。
Docker のコンテナは Linux のカーネルと機能を使って動いているため、Docker Engine は Linux でしか動きません。
Docker Engineは三つの構成要素でできています。
Docker CLI
REST API
Dockerデーモン
[Docker Engineとは何か]
https://zenn.dev/ryoatsuta/articles/64dcc2e2b4e0cf
次のコマンドを答えなさい。
0) イメージの一覧を表示
1) 作成 (起動状態で)
2) 作成する(停止状態3) プロセスを一時停止
4) プロセスを再開始
5) 開始
6) 停止
7) 再起動
8) 強制終了
9) 削除
0) イメージの一覧を表示
docker images
1) 作成 (起動状態で)
docker run -d -it –name my_cont_name [IMAGE ID]
2) 作成する(停止状態で)
docker create -it –name my_cont_name [IMAGE ID]
3) プロセスを一時停止
docker pause [CONTAINER ID]
4) プロセスを再開始
docker unpause [CONTAINER ID]
5) 開始
docker start [CONTAINER ID]
6) 停止
docker stop [CONTAINER ID]
7) 再起動
docker restart [CONTAINER ID]
8) 強制終了
docker kill [CONTAINER ID]
9) 削除
docker rm [CONTAINER ID]
実行中と非実行中のすべてのコンテナを一覧表示するにはどうすればよいですか?
docker ps -a
Docker オブジェクト ラベルとは何ですか?
docker-compose up
Dockerのラベルは、イメージやコンテナに付与できるメタデータ
Docker オブジェクト・ラベル
https://docs.docker.jp/engine/userguide/labels-custom-metadata.html
Dockerイメージから特定のラベルがあるか判定する
https://amateur-engineer-blog.com/judge-docker-label/
Docker Compose の使用中にコンテナ 1 がコンテナ 2 よりも前に実行されるようにするにはどうすればよいですか?
depends_on
# docker-compose.yml
version: “2.4”
services:
backend:
build: .
depends_on:
- db
db:
image: postgres
docker createコマンドは何をするのですか?
コンテナを停止状態で作成します。