github - 在构建Dockerfile时,Docker在哪里知道从哪里提取.sh脚本?

标签 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/

最佳答案

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

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

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

编辑:澄清一下,Docker Hub是一个镜像存储库。内置镜像可以由Docker Hub从提供的github存储库上传或构建。然后其他用户可以简单地下载(拉出)那些图像。

关于github - 在构建Dockerfile时,Docker在哪里知道从哪里提取.sh脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40645572/

相关文章:

javascript - 删除 git status 中出现的未跟踪文件

java - com.mysql.cj.jdbc.exceptions.CommunicationsException : Communications link failure when trying to build spring boot docker image 错误

nginx - 如何将虚拟主机映射到Docker中的容器?

Docker compose 找不到 dart http Web 服务器连接

docker - 点和冒号的含义

Github .pdf 差异

git - 如何检查我的所有分支是否等于主分支?

github - 推送标签时如何在GitHub操作上获取分支名称?

bash - 独立于操作系统转换 Redis 批量插入协议(protocol)格式

amazon-web-services - Docker Swarm关于AWS Cloudformation的说明