docker - 构建无堆栈的 docker 镜像
问题描述
我有 haskell 项目,我可以在我的 MacOS 上使用stack image build
以下设置在stack.yml
.
resolver: lts-11.1
packages:
- .
docker:
enable: true
image:
container:
base: "gcr.io/myapp/myapp-base"
name: "gcr.io/myapp/myapp-api"
但是,我们的 CI 服务器没有stack
,它只有 docker 和 docker-compose。是否可以stack
生成Dockerfile
文件,这样我就可以在我们的 CI 服务器上构建一个图像而无需安装stack
?
解决方案
据我所知, Stack 没有任何命令来生成Dockerfile
. 通常我自己为 CI 写一个。他们的基础镜像是stack-build。我写的 yesod 应用程序的最新 docker 文件:
FROM fpco/stack-build:lts-9.20
WORKDIR /app
COPY . /app
RUN stack build
RUN stack install
EXPOSE 3000
CMD ["stack", "exec", "twilio-demo"]
请注意,在上述方法中,docker 映像包含 Stack 构建工具。
推荐阅读
- python - 我怎么能在输入中制作一个有限的数字并只制作数字,我不想要符号
- reactjs - 如何将变量从函数传递到 React 实用程序类中的方法?♂️
- bash - 如何删除 50 个文件的文件名中的最后六个字符
- macos - zsh: command not found -- 不再能够从终端访问基本实用程序和所有已安装的软件或软件包
- objective-c - 在“AppDelegate *”类型的对象上找不到属性“managedObjectContext”
- r - 试图在 R 中比较两类不同的变量
- docker - 这个 docker-compose.yml 文件有什么问题
- r - R中具有dynlm函数的自回归模型
- r - 在R中查找svg图像的边缘(即笛卡尔坐标)?
- php - 如何将 PHP 5 正则表达式转换为 PHP 7 标准?