所以这是一个Dockerfile。 https://hub.docker.com/r/kartoza/postgis/~/dockerfile/
我试图在我的Docker-Compose中使用它,如下所示:
postgres:
restart: always
image: kartoza/postgis:9.4-2.1
ports:
- "5432:5432"
我的问题是,如果你回到那个链接并查看Dockerfile,最底层是运行start_postgres.sh和其他一些sh脚本。 docker如何知道从哪里拉出那些sh脚本?我知道有一个Kartoza / postgis github仓库有脚本,但在Dockerfile或我的docker-compose中没有任何一步可以拉或指向GitHub仓库所以我完全感到困惑,当我从这里拉出这些脚本运行我的docker-compose。
卷:
- pgdata:/var/lib/postgresql/data/
答案 0 :(得分:2)
Dockerhub上的Dockerfile
仅用于文档目的,完整的github repo用于构建映像,因此脚本可通过Docker的build context获得:
$ docker build https://github.com/kartoza/docker-postgis
仅使用链接的Dockerfile
会导致构建错误。
编辑:为了澄清,Docker Hub是一个图像存储库。构建的映像由Docker Hub从提供的github存储库上载或构建。其他用户可以简单地下载(拉)这些图像。