Docker Flashcards

https://www.educative.io/blog/top-40-docker-interview-questions

1
Q

Docker(Kubernetes) コンテナとは何ですか?

A

OS内で仮想化されたアプリケーション実行環境

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

DockerFile とは何ですか?

A

Dockerイメージの設計図のこと

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Docker イメージから Docker コンテナを作成するコマンドは?

A

1) 起動状態で作成
docker run -d -it –name my_cont_name [IMAGE ID]

2) 停止状態で作成
docker create -it –name my_cont_name [IMAGE ID]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Docker Compose に YAML の代わりに JSON を使用できますか?

A

はい

docker-compose -f docker-compose.json up

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Docker Swarm とは何ですか?

A

クラスタリング用ツール。

Docker Swarm は標準 Docker API で操作できます。 そのため、Docker ホスト群を集め、1つの仮想 Docker ホストとして扱えます。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Base Imageを使用してそれに変更を加えたい場合は、どうすればよいですか?

A

docker pull [mage_name]

Docker Hub からローカル システムにイメージをプルできます。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

コンテナを起動、停止、強制終了するにはどうすればよいですか?

1) 起動
2) 停止
3) 強制終了

A

1) 起動
docker start [container_id]

2) 停止
docker stop [container_id]

3) 強制終了
docker kill [container_id]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Docker はどのプラットフォームで実行されますか?

A

Linux

[Clouds]
Microsoft Azure
Google Compute Engine
Amazon AWS EC2
Amazon AWS ECS
Rackspace

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Docker の主要コンポーネントを5つ説明しなさい。

A

1) Image: 読み込み専用(read-only)のテンプレート

2) Container: imageを基に作成するアプリケーションの実行環境

3) Registry : imageを格納・配布する場所のことを指します。registryと混同しそうなコンポーネントとしてrepositoryがあります。

4) Client : Docker デーモン と通信することで、Docker コンテナの構築・実行・配布といった力仕事をします。
(Docker はクライアント・サーバ型のアーキテクチャ)

5) Host : Docker デーモン、Docker イメージ、および Docker コンテナーを保持します。デーモンは Docker レジストリへの接続を設定します。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

仮想化とコンテナ化の違いは何ですか?

A
  • 仮想化: ハードウェア層まで含めたマシン全体を仮想化
  • コンテナ化: オペレーティング システム レベル以上のソフトウェア層のみを仮想化
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

ハイパーバイザーの機能は何ですか?

A

必要なハードウェア環境を仮想化することで、ソフトウェアの実行を継続するオプションを提供します

ハイパーバイザ型(ネイティブ):
ホスト システムのハードウェアに直接アクセスできる。OSとして 動作するのでOSは不要

ホストOS型:
アプリケーションとし既存OS上で動作する

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Dockerfile はどのようなコマンドで構築しますか?

A

docker build [path to dockerfile]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

新しいイメージを Docker レジストリにプッシュするにはどのコマンドを使用しますか?

A

docker push myorg/img

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

実行中のコンテナにコンソールログインするにはどのようなコマンドを使用しますか?

A

docker exec -it [container_id] bash

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Docker エンジンとは何ですか?

A

コンテナを乗せる部分 で、Linux で動く ソフトウェアです。

Docker のコンテナは Linux のカーネルと機能を使って動いているため、Docker Engine は Linux でしか動きません。

Docker Engineは三つの構成要素でできています。

Docker CLI
REST API
Dockerデーモン

[Docker Engineとは何か]
https://zenn.dev/ryoatsuta/articles/64dcc2e2b4e0cf

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

次のコマンドを答えなさい。
0) イメージの一覧を表示
1) 作成 (起動状態で)
2) 作成する(停止状態3) プロセスを一時停止
4) プロセスを再開始
5) 開始
6) 停止
7) 再起動
8) 強制終了
9) 削除

A

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]

16
Q

実行中と非実行中のすべてのコンテナを一覧表示するにはどうすればよいですか?

A

docker ps -a

17
Q

Docker オブジェクト ラベルとは何ですか?

A

docker-compose up

Dockerのラベルは、イメージやコンテナに付与できるメタデータ

Docker オブジェクト・ラベル
https://docs.docker.jp/engine/userguide/labels-custom-metadata.html

Dockerイメージから特定のラベルがあるか判定する
https://amateur-engineer-blog.com/judge-docker-label/

18
Q

Docker Compose の使用中にコンテナ 1 がコンテナ 2 よりも前に実行されるようにするにはどうすればよいですか?

A

depends_on
# docker-compose.yml

version: “2.4”
services:
backend:
build: .
depends_on:
- db
db:
image: postgres

19
Q

docker createコマンドは何をするのですか?

A

コンテナを停止状態で作成します。