私はローカル開発のためにいくつかのhaskellサービスを結びつけるためにdocker composeを使用しようとしています。ほとんどの場合私はstack ghci
で動作していますが、単体テストなどを実行していますが、依存関係にあるコードを実行する必要があります。 Dockerの作成はこれには最適です:私は依存関係(データベース、他のサービスなど)を実行し、すべてをリンクさせることができます。Docker ComposeでHaskell Stackを使用するには?
スタックにはドッカーのサポートがあります。これはdocker: enable: true
のドッカーコンテナに構築でき、stack image container
の実行可能イメージを作成することもできます。
docker-compose.yml
からスタックのドッカー機能をどのように活用できますか?
version: "3"
services:
my-service:
# how can I use `stack image container` here? Is it possible?
build: '.'
links:
- other-service
env_file:
- test.env
other-service:
image: other-service-image
私は自分のDockerfileをしなければならない、またはstack image container
機能を使用するにはいくつかの方法がありますか?
フォローアップの質問:ドッカーの作成ファイルからすべての設定(env、リンクなど)を使用してstack ghci
を実行する方法はありますか?
限り、あなたのサービス/コンテナは、(あなたが
docker ps
でこれを決定することができます)と命名されているものによっては私は、スタックのドッカーの統合がドッカーの作成(まだですか?)ではうまくいきませんが、スタック+ドッカーの作成を使用する例については、サーバントドッカーのスタックテンプレートを見てください。スタックのドッカーの統合を使用していませんが、私にとってはうまくいっています。 – Erik
ここでは、参考になるプロジェクトがあります:https://github.com/chrissound/ArchCompareTryCatchDeploy –