Docker: MakefileでのDockerコンテキストの利用

このドキュメントはコンテキストの高度な使用法ガイドの一部です。完全なガイドはこちらからご覧いただけます:スクリプトでDockerコンテキストを使用する方法

Stackheroドキュメントへようこそ

Stackheroは、迅速かつ信頼性の高いコンテナデプロイメントのために設計された、すぐに使えるDockerクラウドCaaS(Containers as a Service)プラットフォームを提供しています。

  • docker-compose up ひとつで本番環境にデプロイできます。追加設定は不要で、コンテナをそのまま起動するだけです。
  • 独自のドメイン名を選択でき、自動的にHTTPSでセキュア化されます(例:https://api.your-company.comhttps://www.your-company.comhttps://backoffice.your-company.com など)。
  • プライベートかつ専用インフラ上で、高いパフォーマンスと堅牢なセキュリティを実現します。
  • ワンクリックでアップデートを適用でき、シンプルかつ手間のかからないメンテナンスが可能です。

約5分でコンテナを本番環境で稼働させることができます。Stackheroがインフラ、アップデート、セキュリティを管理するため、アプリケーション開発に集中できます。Docker CaaSクラウドホスティングの詳細もご覧ください。

MakefileでもDOCKER_CONTEXT変数を設定できます。変数をエクスポートし、Dockerコンテナを実行する例を以下に示します。

# Makefile
export DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com

getIp:
	docker run --rm alpine wget -q -O - ifconfig.me

Makefileを作成した後、次のコマンドを使用して呼び出します。

make getIp

Makefile: *** missing separator. Stop.というエラーが発生した場合、docker run [...]行がスペースではなくTAB文字で始まっていることを確認してください。

Makefileに.envファイルを含めることで、設定をさらに簡素化できます。このアプローチは環境設定の集中管理を保証します。

# Makefile
include .env
export

getIp:
	docker run --rm alpine wget -q -O - ifconfig.me

次の内容で.envファイルを作成します。

DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com

次にコマンドを実行します。

make getIp

Makefile: *** missing separator. Stop.というエラーが発生した場合、docker run [...]行がスペースではなくTAB文字で始まっていることを確認してください。