Развернуть образ докера (не Dockerfile) в Heroku? - PullRequest
0 голосов
/ 11 июня 2018

Я хочу развернуть существующий образ Docker в Heroku, где в локальном каталоге нет Dockerfile.(Я создал изображение Docker foo:bar, используя набор данных, и я не знаю, куда он помещает изображение Docker).

Это доступные мне изображения Docker:

$ 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

Я хочу развернуть первый образ докера (foo:bar) в Heroku.

Я пытался сделать heroku create my-app-12355, затем:

heroku container:push web -a my-app-12355

Но это дает мне:

  ▸    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, я все равно получаю No images to push.Как мне сказать, где находится изображение?

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Важной частью является добавление имени приложения в Dockerfile, поэтому переименуйте Dockerfile в Dockerfile.web и, соответственно, для любых сервисов docker-compose.Тогда вы можете просто нажать все сразу с

heroku container:push --recursive --context-path .
0 голосов
/ 11 июня 2018

Полезная ссылка: 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 - это идентификатор изображения.Или вы можете попробовать {image name} / {tag}, например, foo / bar

Возможные типы процессов: web, worker и image.

После нажатия Docker вам нужно запустить команду освобождения docker какпо этой ссылке

heroku container:release web --app=/my-app-12355
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...