【发布时间】:2017-09-17 15:54:24
【问题描述】:
我正在尝试使用 docker compose 将一些 haskell 服务捆绑在一起以进行本地开发。大多数时候,我在stack ghci 中搞乱,运行单元测试等,但我还需要能够运行遇到依赖项的代码。 Docker compose 非常适合:我可以运行依赖项(数据库、其他服务等),并将所有内容链接在一起。
Stack 支持 docker。它可以用docker: enable: true构建一个docker容器,也可以用stack image container创建一个可执行镜像。
如何在docker-compose.yml 中利用堆栈的 docker 功能?
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 功能?
后续问题:有没有办法使用 docker compose 文件中的所有设置(环境、链接等)运行 stack ghci?
【问题讨论】:
-
据我所知,stack 的 docker 集成并不能很好地与 docker-compose 配合使用(还没有?),但请查看servant-docker stack 模板,了解使用 stack + docker- 的示例撰写。它不使用堆栈的 docker 集成,但对我来说还不错..
-
如果有帮助,这里是我的一个示例项目:github.com/chrissound/ArchCompareTryCatchDeploy
标签: haskell docker docker-compose microservices haskell-stack