我想将现有的Docker镜像部署到Heroku,本地目录中没有Dockerfile。 (我使用datasette创建了Docker {% if user.is_active and user.is_administrator or user.is_superuser or user.group.is_active and user.group.is_safe %}
{% endif %}
图像,我不知道它将Docker图像放在何处。)
这些是我可用的Docker图像:
foo:bar
我想将第一个泊坞窗图像($ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
foo bar d41xxxc69862 About an hour ago 1.08GB
<none> <none> af079eb9ceda About an hour ago 980MB
)部署到Heroku。
我尝试过foo:bar
,然后:
heroku create my-app-12355
但是这给了我:
heroku container:push web -a my-app-12355
如何指定图像的名称?我认为the section on "Building and pushing images" in the documentation是我需要的,但我不明白“app”和“process-type”应该是什么。
更新:我试过了:
▸ No images to push
但是当我docker tag d41xxxc69862 registry.heroku.com/my-app-12355/web
docker push registry.heroku.com/my-app-12355/web
时,我仍然得到heroku container:push web -a my-app-12355
。如何判断图像在哪里?
答案 0 :(得分:3)
有用的链接:https://toedter.com/2016/11/05/deploying-spring-boot-apps-to-heroku-using-docker/
我认为你需要首先标记你的图像,然后将其推送到heroku注册表:
docker tag d41xxxc69862 registry.heroku.com/my-app-12355/web
docker push registry.heroku.com/my-app-12355/web
d41xx是图片ID。或者您可以尝试{图片名称} / {tag},例如富/酒吧
可能的流程类型是web,worker和image。
在docker push之后,您需要按照link
运行docker release命令heroku container:release web --app=/my-app-12355
答案 1 :(得分:2)
将Docker映像推送到heroku时,请确保您的 Dockerfile 用大写的“ D”命名。尽管docker本身可以识别,但是Heroku CLI似乎没有将 dockerfile (带有小写的“ D”)识别为搜索映像文件的可行名称。我使用此解决方案解决了这个问题。希望对您有帮助。
答案 2 :(得分:0)
重要的部分是将应用程序名称添加到Dockerfile,因此将Dockerfile分别重命名为Dockerfile.web和任何docker-compose服务。然后,您可以使用
一次全部推送mod <- FLXMRglmfix(varFix=F, nested=list(k=c(1,1), formula=~ z))
out <- flexmix(x ~ y + z, data= df, cluster=.., model=mod)
答案 3 :(得分:0)
您必须重命名文件:从dockerfile
到Dockerfile
。
答案 4 :(得分:-1)
heroku container:push image_name -a=app_name