こちらに同様の質問がありましたが。。
https://teratail.com/questions/192188
今試しているのはWin10環境にDockerを入れ、PostgreSQL11にDocker立ち上げ時にDBをCreateさせたいと言うものです。
src
1-docker-compose.yml 2-docker/init/1_createdb.sql 3-docker/init/Dockerfile.localdb
◆docker-compose.yml
yml
1version: "3" 2 3services: 4 db: 5 build: 6 context: ./docker/init 7 dockerfile: Dockerfile.localdb 8 container_name: db 9 volumes: 10 - ./docker/init:/docker-entrypoint-initdb.d 11 ports: 12 - 5432:5432 13 environment: 14 - "POSTGRES_USER=postgres" 15 - "POSTGRES_PASSWORD=postgres" 16 - "POSTGRES_DB=testdb"
◆1_createdb.sql
SQL
1create database testdb;
◆Dockerfile.localdb
docker
1FROM postgres:11.1 2RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8 3ENV LANG ja_JP.utf8 4COPY *.sql /docker-entrypoint-initdb.d/
この状態から以下のようにコマンドを打ちました。
添付の画像の通り、マスキングしてますが、DB自体はCREATEされてますよね?
cmd
1docker-compose build db 2docker-compose up -d 31 docker exec -it db /bin/bash 42 psql -U postgres 53 \l
ただ、このDBコンテナを立ち上げた状態でもDB接続ができません。
所有者がpostgresなので接続できるはずなんですが、何が悪いのでしょうか・・?
アクセス権??
お聞かせいただければ幸いです。
あなたの回答
tips
プレビュー