Also, ich habe ein Docker-compose Projekt mit dieser Struktur:Docker PostgreSQL - Scripts in /docker-entrypoint-initdb.d läuft nicht
DockerDev
- docker-compose.yaml
- d-php
- Dockerfile
- scripts-apache
- d-postgresql
- Dockerfile
- scripts
- dev_data_setup.sql
- logs
- pgdata
- www
PHP, Redis, Elasticsearch OK ist. Aber Postgresql führt dev_data_setup.sql nicht mit anderen Lösungen für /dockes-entrypoint-initdb.d aus, die ich gefunden habe (Volume, ADD, COPY, etc). Ich habe versucht zu rennen und sh-Script und nichts.
Konnten Sie dieses docker-compose und Dockerfile sehen und mir helfen? Dank
Dockerfile:
FROM postgres:latest
ADD ./scripts/dev_data_setup.sql /docker-entrypoint-initdb.d
Docker-compose.yaml:
version: '2'
services:
php:
build: ./d-php/
hostname: www.domain.com
ports:
- "80:80"
volumes:
- ./www:/var/www/html
- ./d-php/scripts-apache2/apache2.conf:/etc/apache2/apache2.conf
- ./d-php/scripts-apache2/web.conf:/etc/apache2/sites-enabled/web.conf
- ./d-php/scripts-apache2/webservice.conf:/etc/apache2/sites-enabled/webservice.conf
- ./logs:/var/log/apache2
links:
- db
- redis
- elasticsearch
db:
build: ./d-postgresql/
volumes:
- ./pgdata:/pgdata
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- PGDATA=/pgdata
redis:
image: redis:latest
elasticsearch:
image: elasticsearch:2.4.1
Sieht gut aus für mich. Wenn Sie in den Postgres-Container wechseln, sehen Sie Ihre Datei in '/ docker-entrepoint-initdb.d /'. Versuchen Sie Folgendes: 'docker-compose exec db ls -al/docker-eingangspunkt-initdb.d /'. Auch die Veröffentlichung der Protokolle kann helfen: 'docker-compose logs db' – BMitch
Nun, TIL über'/docker-entrypoint-initdb.d/'im postgres-Container, also danke dafür! :) – larsks
Die Datei ist da.Dies ist das Protokoll von db: –