मैं डॉकर के लिए नया हूं। मैंने PostgreSQL छवि को बढ़ाया है और छवि चलाते समय नया डीबी इंस्टेंस बनाने में सक्षम है। मुझे उस डीबी में टेबल स्क्रिप्ट से टेबल बनाने की आवश्यकता है जो .sql फ़ाइल निष्पादित करेगा। PostgreSQL छवि चलाते समय यह कहता है कि सर्वर शुरू नहीं हुआ है? पोस्टग्रेएसक्यूएल सर्वर डॉकर कंटेनर में शुरू होने के बाद ही हम स्क्रिप्ट कैसे निष्पादित कर सकते हैं?PostgreSQL डॉकर छवि में तालिका बनाएं
Dockerfile:
FROM postgres:9.3
ENV POSTGRES_USER docker
ENV POSTGRES_PASSWORD docker
ENV POSTGRES_DB docker
RUN apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3
ADD initialize.sh /home/MM0312/docker-entrypoint-initdb.d/initialize.sh
CMD ["/home/MM0312/docker-entrypoint-initdb.d/initialize.sh"]
initialize.sh
#!/bin/bash
set -e
set -x
echo "******PostgreSQL initialisation******"
gosu docker psql -h localhost -p 5432 -U docker -d $docker -a -f createDatabase.sql
createDatabase.sql फ़ाइल
REATE TABLE web_origins (
client_id character varying(36) NOT NULL,
value character varying(255)
);
धन्यवाद, यह काम किया। –
डॉकर कंपोज़ के साथ इसे कैसे संभालें? – kamal
क्या हमें बस इसकी प्रतिलिपि बनाने की आवश्यकता है, जैसा कि मैं अपने मामले में देख सकता हूं db.sql को डॉकर-एंट्रीपॉइंट-initdb.d निर्देशिका में कॉपी किया गया है, लेकिन एसक्यूएल कमांड नहीं चला। – kamal