我需要在Heroku上部署一个来自公共注册表的Docker映像。这样的映像需要一些参数来运行,包括一个证书文件。在本地,我可以使用docker compose
在docker-compose.yml
文件中指定所有的 env 变量和 * 卷 *。
# === docker-compose.yml ===
services:
my_service:
image: public.images.repo/my-service
container_name: my_service
volumes:
- /Users/me/public.pem:/public.pem
environment:
- CERT_PATH=/public.pem
不幸的是,我刚刚看到Heroku不支持Docker compose。
我看到它支持heroku.yml文件,但它需要Dockerfile
,我没有,也不能修改,因为我只有图像。而且,显然,没有 volume 字段。
# === heroku.yml ===
build:
docker:
web: Dockerfile
worker: worker/Dockerfile
release:
image: worker
如何部署Docker容器,以及用于导入证书文件的卷?
1条答案
按热度按时间l5tcr1uw1#
Heroku根本不支持Docker卷:
不支持的Dockerfile命令
VOLUME
-不支持卷装入。dyno的文件系统是临时的。您可以根据以其他方式取得凭证档案的公用影像,建立自订影像。
如果没有关于您尝试运行的容器的更多信息,就很难说得更多。