Docker在构建Dockerfile时知道从哪里拉出.sh脚本?

时间:2016-11-17 02:07:50

标签: github docker docker-compose

所以这是一个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/

1 个答案:

答案 0 :(得分:2)

Dockerhub上的Dockerfile仅用于文档目的,完整的github repo用于构建映像,因此脚本可通过Docker的build context获得:

$ docker build https://github.com/kartoza/docker-postgis

仅使用链接的Dockerfile会导致构建错误。

编辑:为了澄清,Docker Hub是一个图像存储库。构建的映像由Docker Hub从提供的github存储库上载或构建。其他用户可以简单地下载(拉)这些图像。