• 2024年9月5日
  • 2024年9月5日

Dockerとコンテナ技術 その13:ボリューム

ボリュームとは、Docker上に作成できる永続的なデータ領域です。 コンテナ上のデータはコンテナを削除すると消えてしまいますが、ボリューム上にデータを保持することで永続化させることができます。 ボリュームは複数のコンテナからアクセスすることができ、外付けHDDのような役割を果たします。

  • 2024年9月3日
  • 2024年9月3日

Dockerとコンテナ技術 その12:マルチステージビルド

今回の記事ではDockerイメージを効率的に作成するためのテクニックであるマルチステージビルドについてまとめていきます。 マルチステージビルドをすることで、効率的なビルドやビルドイメージの軽量化、セキュリティリスクの軽減などの効果が期待できます。 マルチステージビルドとは、通常、1つのイメージのみで構築するDockerfileの中に複数のイメージを利用して構築する手法です。この時の一つ一つのイメージのことをステージといいます。 各ステージでは別のイメージを利用することができ、ビルド時のみに必要なコンパイラなどを分けることができます。 このようにステージ毎に必要なイメージを分けることで、最終的に必要なものだけを最終イメージに含めることができ、イメージの容量の軽量化や効率的なビルドを実現することができます。

  • 2024年8月30日
  • 2024年8月30日

Dockerとコンテナ技術 その11:ビルドコンテキストと.dockerignore

今回はDockerのイメージのビルドにおいて覚えておくべき概念であるビルドコンテキストと、.dockerignoreという設定ファイルについてまとめていきます。 ビルドコンテキストとは、Dockerがイメージをビルドする際にクライアントから渡されるファイル群のことです。 .dockerignoreは設定ファイルの一つで、ビルドコンテキストから除外するファイルやフォルダを指定することができます。

  • 2024年8月28日
  • 2024年9月1日

Dockerとコンテナ技術 その10:Dockerfileによるカスタムイメージの作成②

今回は前回の記事に続いて、Dockerfileについてまとめていきたいと思います。 Dockerfileはカスタムイメージを定義するファイルですが、基本的に以下のような構造になっています。 大文字のコマンド [パラメータ...] 例えば、前回の記事の例で実際に記述したFROM ubuntu:20.04は、FROMという大文字のコマンドにubuntu:20.04というパラメータを指定しています。 このようなコマンドを記述していくことでカスタムイメージを作成していくのが基本となっています。

  • 2024年8月26日
  • 2024年8月28日

Dockerとコンテナ技術 その9:Dockerfileによるカスタムイメージの作成①

Dockerコンテナはレジストリから用途に合ったイメージを取得して作成する方法の他に、自分でカスタムしたイメージから作成することもできます。 実務においては、レジストリ上のイメージのみではほとんど対応できないため、自分の要件に合ったイメージを作成する必要があります。 今回は2つの記事に分けて、Dockerfileと呼ばれるイメージを定義するファイルを利用してカスタムイメージを作成する方法についてまとめていきます。 Dockerfileとは、イメージを定義する時に利用されるファイルです。

  • 2024年5月17日

Dockerとコンテナ技術 その8:ネットワーク

コンテナは一つのシステム内で、その用途ごとに分けて複数作成するのが一般的です。 例えばWebサーバーのコンテナとDBサーバーのコンテナを作成する、といった感じです。 コンテナは独立した仮想環境であるため、ネットワークで繋ぐ必要があります。 今回の記事では、コンテナの周りのネットワークについてまとめていきます。

  • 2024年5月8日
  • 2024年5月8日

Dockerとコンテナ技術 その7:データ永続化

コンテナは作成し利用した後は都度削除するのが一般的です。 しかし、コンテナを削除するとその中のデータも削除されてしまいます。 そのため、削除したくないデータがある場合はデータの永続化を行う必要があります。 Dockerではデータの永続化として2つの方法が用意されています。 ボリュームとバインドマウントです。

  • 2024年5月5日
  • 2024年5月5日

Dockerとコンテナ技術 その6:コマンド操作

コンテナの仮想環境が作成できるようになったので、次は起動しているコンテナでの操作を実行できるようにしていきます。 今回はコマンド実行による操作方法をいくつかまとめていきます。 コンテナとホストOSの間でのファイルのやり取り ・docker compose cpコマンドを利用する。 ・ホストOSとコンテナ内のそれぞれのファイルパスを指定してコピーを行う。 コンテナ上でコマンド実行 ・docker compose exec [コンテナ名] [実行コマンド]でコマンドを単発で実行できる。 ・docker compose exec -it [コンテナ名] [立ち上げるシェル]でコンテナ上のシェルを立ち上げることができる。

  • 2024年5月2日
  • 2024年5月2日

Dockerとコンテナ技術 その5:Docker Composeファイル

Docker Composeで利用するキーや階層構造の主な記述方法についてまとめていきます。 Docker Composeで利用するcompose.yamlファイル内では、最上位で操作対象の指定をします。 これはコマンドで言うところの、dockerの後に指定するcontainerやnetworkなどの部分に近いイメージです。

  • 2024年4月19日
  • 2024年4月19日

Dockerとコンテナ技術 その4:Docker Composeで複数のコンテナ操作

Docker Composeとは、一度に複数のコンテナを作成・実行できるソフトウェアのことです。 Docker内に同梱されており、Dockerをインストールしていればそのまま利用することができます。 Docker ComposeではYAML形式の設定ファイルに詳細なオプションを記述し、それを基にコンテナの作成・実行を行います。 この設定ファイルには複数コンテナの作成やネットワークなどのコンテナの動作に必要な機能を記述することができるため、複雑な設定や構成も管理することができ、開発環境の統一やテストなどをより簡単に行うことができます。 Docker Composeはdocker composeコマンドを使って操作していきます。