包括:
project/ ├── docker-compose.yml ├── postgres/ │ ├── init.sql │ └── data/
docker-compose.yml
YAMLversion: "3.9"
services:
postgres:
image: postgres:16
container_name: postgres-db
restart: always
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: 123456
POSTGRES_DB: mydb
ports:
- "5432:5432"
volumes:
- ./postgres/data:/var/lib/postgresql/data
- ./postgres/init.sql:/docker-entrypoint-initdb.d/init.sql
pgadmin:
image: dpage/pgadmin4
container_name: pgadmin
restart: always
environment:
PGADMIN_DEFAULT_EMAIL: admin@163.com
PGADMIN_DEFAULT_PASSWORD: 123456
ports:
- "8080:80"
depends_on:
- postgres
init.sql(初始化数据库)
SQLCREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO users (name) VALUES ('test user');
bashpsql -h localhost -p 5432 -U admin -d mydb
浏览器打开: http://localhost:8080
登录后添加服务器:
| 参数 | 值 |
|---|---|
| Host | postgres |
| Port | 5432 |
| User | admin |
| Password | 123456 |
注意
这里 Host 必须写 postgres(容器名)
本文作者:哈希喵
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!