Docker
Docker Imageはレジストリを利用した公開・共有が可能である。公開されたイメージはdocker pullコマンドにより取得されコンテナ化できる。広く利用できるレジストリの存在により、Dockerfileを用いたイメージ生成の際にレジストリへ登録されたイメージをベースイメージとすることが可能となっている。docker pullはURL-likeなイメージ識別子(URLからプロトコル名を除いたもの。例:quay.io/assemblyline/ubuntu)を受け入れるため様々なレジストリを利用できる。
コンテナはDockerのランタイム上で動作するためホスト側のOSや設定に影響を受けず、同一イメージからWindowsユーザーもLinuxユーザーも開発環境コンテナを利用できる。
開発コンテナには複数種類の利用方法がある。
全てをコンテナ内で完結: コンテナ上のターミナルでコンテナ内のコードを編集
volumeマウントを利用: ホスト上のコードをコンテナのvolumeへマウントし、コード編集はホスト・実行とその環境はコンテナ
ホスト-コンテナ間連携: コンテナ内のエディタサーバーを通じてホストのエディタUIからコンテナ内コードを操作・実行
などがある。すべてをコンテナ内で完結させればホストはDockerのみで動作する。volumeマウントは実行環境の隔離に近い。ホスト-コンテナ連携をした場合、ホストはDockerとエディタのみに依存する。
We recommend that you use the Fluentd docker image. docker docs
↑ Ubuntu 18.04.4 ships with a v5.3 based Linux kernel
↑ Linux kernel 4.19 series
↑ “Kubernetesとは”. 2018年1月3日閲覧。
↑ “Kubernetesを統合したDockerがついにリリース。Docker for Mac with Kubernetesのベータ版が公開”. 2018年1月11日閲覧。
↑ By default, docker pull pulls images from Docker Hub. It is also possible to manually specify the path of a registry to pull from. docker docs
↑ “Dockerコンテナをクラウドサービス上で共有できる「Docker Hub」を使ってみる”. 2018年1月3日閲覧。
↑ Amazon Elastic Container Registry (ECR) は、完全マネージド型の Docker コンテナレジストリです。 Amazon Elastic Container Registry
↑ Docker Engine is a client-server application with these major components:
1 2 A server which is a type of long-running program called a daemon process (the dockerd command).