7
我是碼頭工人。我已經擴展了PostgreSQL映像,並且能夠在運行映像時創建新的數據庫實例。我需要從該shell腳本中創建表,以執行.sql文件。在運行PostgreSQL映像的時候,它說服務器沒有啓動?我們如何才能在Docker容器中啓動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目錄被複制,但SQL命令沒有運行。 – kamal