यह विफल हो रहा है क्योंकि पोस्टग्रेज निर्माण के दौरान कंटेनर में नहीं चल रहा है, यह केवल CMD
में शुरू हुआ है जब एक कंटेनर चलता है।
डॉकर छवि के लिए एंट्रीपॉइंट स्क्रिप्ट में सेटअप चरणों को चलाने के लिए समर्थन है - /docker-entrypoint-initdb.d
में कोई भी .sql या .sh फ़ाइलें कंटेनर शुरू होने पर निर्देशिका निष्पादित की जाएगी।
तो आप अपने एक्सटेंशन सेटअप को SQL स्क्रिप्ट में डालकर और स्क्रिप्ट को इनिट डायरेक्टरी में इमेज में कॉपी करके ऐसा कर सकते हैं:
> cat hstore.sql
create extension hstore
> cat Dockerfile
FROM postgres:9.5
COPY hstore.sql /docker-entrypoint-initdb.d
जब आप उस छवि को बनाते हैं, तो SQL स्क्रिप्ट निष्पादित करने के लिए सही जगह पर होगी, इसलिए जब भी कोई कंटेनर छवि से चलता है तो वह एक्सटेंशन इंस्टॉल करेगा।