Github Docker在构建Dockerfile时知道从何处提取.sh脚本?

Github Docker在构建Dockerfile时知道从何处提取.sh脚本?,github,docker,docker-compose,Github,Docker,Docker Compose,这是一个Dockerfile 我试着在我的Docker作文中这样使用: postgres: restart: always image: kartoza/postgis:9.4-2.1 ports: - "5432:5432" 我的问题是,如果您返回到该链接并查看Dockerfile,它在最底部运行start_postgres.sh和其他一些sh脚本。docker如何知道从何处提取这些sh脚本?我知道有一个Kartoza/postgis github repo包含脚

这是一个Dockerfile

我试着在我的Docker作文中这样使用:

postgres:

  restart: always

  image: kartoza/postgis:9.4-2.1

  ports:

    - "5432:5432"
我的问题是,如果您返回到该链接并查看Dockerfile,它在最底部运行start_postgres.sh和其他一些sh脚本。docker如何知道从何处提取这些sh脚本?我知道有一个Kartoza/postgis github repo包含脚本,但docker文件或我的docker compose中没有任何步骤可以拉或指向github repo,因此我完全不知道运行docker compose时这些脚本从何处拉

卷数:

- pgdata:/var/lib/postgresql/data/

Dockerhub上的
Dockerfile
仅用于文档编制,完整的github repo用于构建映像,因此脚本可通过Docker的:

仅使用链接的
Dockerfile
将导致生成错误


编辑:为了澄清,Docker Hub是一个图像存储库。生成的图像可以上载,也可以由Docker Hub从提供的github存储库生成。其他用户只需下载(拉取)这些图像。

也许我不了解Docker的一些基本原理。那么,在我上面的docker compose中,如果不仅仅是docker Hub中的Dockerfile,“image”到底是什么呢?当我做一个docker compose构建然后启动时,它构建没有问题,postgres正在运行。它从docker Hub中提取完整的映像。阅读docker compose文档中的详细信息和说明<代码>生成用于扩展现有映像,而
映像
用于仅使用已生成映像。因此。。在我上面的Docker Compose中,image:kartoza/postgis是一条提取该图像的指令,该图像是使用GitHub存储库和所有.sh脚本(以及其他)构建的?
$ docker build https://github.com/kartoza/docker-postgis