【发布时间】:2018-02-06 05:24:16
【问题描述】:
我想在 docker postgres 中设置一些初始表。
我看了https://stackoverflow.com/a/34753186/72437,认为它会是直截了当的。
docker-compose.yml
version: '2'
services:
postgres:
build:
context: ./postgres
dockerfile: Dockerfile
restart: always
ports:
- "5432:5432"
postgres/postgres.sql
CREATE TABLE my_table (
client_id character varying(36) NOT NULL,
value character varying(255)
);
postgres/Dockerfile
FROM postgres:latest
ENV POSTGRES_DB my_db
ADD postgres.sql /docker-entrypoint-initdb.d/
然后,我执行
- docker-compose 构建
- 码头工人组成
我尝试通过
检查我的数据库docker ps
docker exec -it bb54abc9be16 bash
root@bb54abc9be16:/# psql -h 127.0.0.1 -U postgres
psql (10.1)
Type "help" for help.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres
| | | | | postgres=CTc/postgres
(3 rows)
好像my_db DB 和my_table 表没有创建。
我可以知道我错过了什么吗?
【问题讨论】:
-
你可以试试 postgres:10 吗?
-
你的意思是
FROM postgres:10吗? -
和
docker-compose version? -
是的。从 postgres:10
-
我用
10检查了这个。工作正常
标签: docker