Docker konusunda yeniyim. PostgreSQL görüntüsünü genişlettim ve görüntüyü çalıştırırken yeni DB örneği oluşturabildim. Bu DB dosyasında .sql dosyasını çalıştıracak olan kabuk betiğinden tablolar oluşturmam gerekiyor. PostgreSQL görüntüsünü çalıştırırken sunucu başlatılmıyor mu diyor? PostgreSQL sunucusu, docker kabında başladıktan sonra nasıl betiği çalıştırabiliriz?PostgreSQL docker görüntüsünde tablo oluşturma
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 official docker image of postgres ait docker-entrypoint.sh komut olarak
#!/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 dosyası
REATE TABLE web_origins (
client_id character varying(36) NOT NULL,
value character varying(255)
);
teşekkürler, işe yaradı. –
Bu docker oluşturmada nasıl kullanılır? – kamal
Durumumda görebildiğim gibi, db.sql docker-entrypoint-initdb.d dizininde kopyalandı, ancak sql komutları çalışmadı. – kamal