LoginSignup
0
0

More than 3 years have passed since last update.

dockerについて学んだことをとにかく書いていく(1つ目)

Last updated at Posted at 2020-10-02

次回

dockerについて学んだことをとにかく書いていく(2つ目) - Qiita

参考図書

Docker/Kubernetes 実践コンテナ開発入門 | 山田 明憲 | コンピュータ・IT | Kindleストア | Amazon

Dockerコンテナオーケストレーションシステム

複数のノードをまたいで多くのコンテナ群を管理する手法

Docker Swarm

  • Docker Composeを単一のサーバだけではなく、複数のサーバをまたいで複数のコンテナを管理できるようにしたもの
  • 複数のコンテナ群の管理だけではなく、コンテナの増減、ノードのリソースを効率的に利用するためのコンテナを配置や負荷分散などの機能も用意されている

DockerイメージとDockerコンテナの相関

Dockerイメージ

  • Dockerコンテナを構成するファイルシステムや実行するアプリケーションをまとめたもの
  • コンテナを作成するための利用されるテンプレート

Dockerコンテナ

Dockerイメージをもとに作成され、具現化されたファイルシステムとアプリケーションが実行されている状態

image.png

  • DockerイメージはUbuntuのファイルシステムと実行するアプリケーションを含む

Dokcerfileのインストラクション(命令)

FROM

dokcerイメージのベースになるやつ

RUN

Dockerイメージビルド時に、Dockerコンテナ内で実行するコマンド

COPY

Dockerを動作させているホストマシン上にファイルやディレクトリをDockerコンテナ内にコピーするためのインストラクション

イメージのビルド

docker image build -t イメージ名[:タブ名] Dockerfile配置ディレクトリパス

-t オプションには任意のイメージ名を指定可能。オプションであるがほぼ必須

ENTRYPOINT

ENTRYPOINTを利用するとコンテナのコマンド実行の仕方を工夫することができる

  • ENTRYPOINTを指定するとCMDの引数はENTRYPOINTで実行するファイルの引数となる
  • ENTRYPOINTはイメージの作成者側でコンテナの用途をある程度制限したい場合に活躍できる

その他インストラクチャ

LABEL

イメージの作者名記入

ENV

Dockerfileをもとに生成したDockerコンテナ内で使える環境変数を指定

ARG

ビルド時に情報を埋め込むために使用

Dockerポートフォワーディング

  • HTTPリクエストを受けるアプリケーションの場合は、コンテナの外から来たリクエストをコンテナ内で実行しているアプリケーションにまで到達させる必要がある
  • ポートフォワーディングではコンテナポートに紐づけ、コンテナの外から来た通信をコンテナポートに転送することができる。
dokcer container run -p {ホスト側ポート}:{コンテナ側ポート} {以下いろいろコマンド}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0