我对Stack的Docker集成感到困惑。
我设法创建了一个图片,将docker
部分添加到stack.yml
enable: true
,integration guide。
我也可以使用
在本地启动项目 stack --docker-run-args='--net=bridge --publish=8081:8081' exec myproject
我导航到localhost:8081 - 很棒。
但是如何仅使用Docker启动项目?有了这个我开始容器:
docker run -d --restart=always --net=bridge --publish=8081:8081 myproject
但此时似乎没有任何动态。如果我导航到localhost:8081我会拒绝连接。
答案 0 :(得分:1)
问题解决了!
在容器中启动项目时缺少,如Stack's docs的另一部分所述。具体做法是:
手动启动可执行文件,该文件位于容器中/usr/local/bin/
(不太方便)
或者通过将以下内容添加到stack.yaml:
来配置Stack以自动启动可执行文件image:
containers:
-
name: "myimage"
base: "baseimage"
entrypoints:
- myexecutable
在此之后,运行stack image container
来构建映像(在此之前可能还需要运行stack build
)。
然后确保图像已创建/检查名称:
docker image ls
最后,运行它:
docker run --net=bridge --publish=8081:8081 myimage