2016-11-17 7 views
1

ここにDockerfileがあります。 https://hub.docker.com/r/kartoza/postgis/~/dockerfile/Dockerファイルをビルドするとき、Dockerはどこから.shスクリプトを引き出すべきかを知っていますか?

は 私は私の中でこれを使用しようとしています

ので、同じようドッカー-作曲:

postgres: 

    restart: always 

    image: kartoza/postgis:9.4-2.1 

    ports: 

    - "5432:5432" 

あなたはそれが実行されている一番下に、そのリンクに戻ってDockerfileを見れば私の質問は、ありますstart_postgres.shなどのshスクリプトがあります。ドッカーは、これらのshスクリプトをどこから引っ張るかをどのように知っていますか?スクリプトを持っているKartoza/postgis githubリポジトリがあることを知っていますが、DockerfileやドッカーのどこにもGitHubリポジトリを作成する必要はありません。私のドッカーを作ってください。

ボリューム:

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

答えて

2

Dockerhub上Dockerfileはちょうど文書化のため、完全なgithubのレポは、画像を構築するために使用され、したがって、スクリプトはドッカーのbuild contextで入手できます。

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

リンクされたDockerfileのみを使用すると、ビルドエラーが発生します。

編集:明確にするために、Docker Hubはイメージリポジトリです。構築されたイメージは、提供されたgithubリポジトリからDocker Hubによってアップロードまたは構築されます。他のユーザーは、単にそれらのイメージをダウンロード(プル)することができます。

+0

絶対に正しく! – Tuan

+0

私はDockerのいくつかの基本を理解していないかもしれません。 DockerHubのDockerfileだけでなく、正確に 'イメージ'が引っ張ってくるのは、上記の私のdocker-composeでですか?私がドッカーを作ってビルドすると、それは問題なくビルドされ、ポストグルが動いています。 – david

+0

Docker Hubから完全なイメージを引き出します。 [image](https://docs.docker.com/compose/components-file/#/image)と[build](https://docs.docker.com/compose/compose-file/#/)を参照してください。ビルド)の手順を説明しています。すでにビルドされているイメージを使いたい場合は、 'image'を拡張したい場合は' build'を使います。 –

関連する問題