Skip to main content

Get full access to 実用 Go言語 ―システム開発の現場で知っておきたいアドバイス and 60K+ other titles, with a free 10-day trial of O'Reilly.

There are also live events, courses curated by job role, and more.

14.2 コンテナ用イメージの作成

前節では既製のイメージを利用してコンテナを立ち上げる方法を紹介しました。これだけでも開発で利用するミドルウェアの導入が簡単になります。さらに自分のアプリケーションをコンテナイメージにできれば、デプロイ先の選択肢が増えるなどのメリットが生じます。最近人気の、サーバー管理の手間が少なくアクセス頻度のムラに強い「サーバーレス」なども選択肢に入ってくるでしょう。

また、新規に検証環境を立ち上げる場合にも、ツールやデプロイ手順が平準化されるため、引き継ぎやドキュメント整備の手間が減らせるというメリットもあります。コンテナでよく使われるツールはDockerであると紹介しましたが、コンテナ技術自体は標準化されたものです。イメージの作成ツールもいくつもあります。本書ではDocker、Cloud Native Buildpacks、koを紹介します。

14.2.1 Dockerを使ったイメージのビルド

Dockerを使ったビルドでは、大まかに次の手順でイメージを作成します。これらの手順を記述したDockerfileを作成し、docker build -f (Dockerfile名) .(ファイル名がDockerfileであれば、-fは不要)のようにしてイメージを作成します。

  1. ビルド用のベースイメージを取得

  2. ビルドに必要なツールをインストール

  3. ローカルのソースコードを取り込む

  4. ビルド

  5. デプロイ用イメージのベースイメージを取得

  6. ビルドしたアプリケーションを取り込む

  7. デプロイ用のイメージ完成

14.2.1.1 ベースイメージの選択

シンプルにDebianなどの、素直なディストリビューションのイメージをベースにして、apt-getでビルドに必要なパッケージを入れるという方法でも良いのですが、最初から必要なツールが入っているイメージを選択して、②をスキップできるならそちらの方が良いでしょう。 ...

Get 実用 Go言語 ―システム開発の現場で知っておきたいアドバイス now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.

Don’t leave empty-handed

Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.

It’s yours, free.

Get it now
Cover of Software Architecture Patterns

Check it out now on O’Reilly

Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.

Start your free trial Become a member now