文章目录
为什么要使用Docker环境?
我们原来学习一项技术的时候,最开始的时候,最头疼的就是安装软件、并且配置环境变量等。一旦哪一步没做对,或者步骤正确但是就会出一些稀奇古怪的问题。于是就开始在搜索引擎上找各种答案、尝试、未解决、接着循环…等最终环境安装好了,学习的兴趣早就没了。
所以我非常推荐利用Docker来学习各种技术,只要镜像一拉,环境就搭好了。马上就能学习。等学完了,容器一删,干干净净,多方便
书写docker-compose.yml文件
version: "3.7"
services:
pgdb:
# 设置容器使用内存大小限制
shm_size: '1gb'
image: postgres:latest
# 设置容器名字
container_name: pgdb
# https://docs.docker.com/compose/compose-file/#restart
restart: always
# 映射端口
ports:
- 5432:5432
# 设置PostgreSQL Server时区,默认为GMT,官方文档 https://www.postgresql.org/docs/14/app-postgres.html#id-1.9.5.14.6.3
command: postgres -c timezone='US/Eastern'
# https://docs.docker.com/compose/compose-file/#long-syntax-4
volumes:
- type: volume
source: pgdb-data
# PostgreSQL 所有的配置文件都在/var/lib/postgresql/data下
target: /var/lib/postgresql
read_only: false
# 配置的环境变量文件位置 https://docs.docker.com/compose/compose-file/#env_file
env_file:
- .env
# volume声明
volumes:
pgdb-data:
更多参数以及解释参考compose文件说明
创建.env文件
vim .env
文件内容为
POSTGRES_PASSWORD=12345
POSTGRES_USER=postgres
POSTGRES_DB=postgres
PGDATA=/var/lib/postgresql/data
更多其他变量参考PostgreSQL官方镜像说明
启动容器
docker-compose up
可以看到创建volume、创建容器、以及启动成功的信息
本机安装PgAdmin
可直接在pgAdmin官网下载对应操作系统版本
Mac OS也可以直接使用HomeBrew安装
brew search pgadmin
brew install pgadmin4
利用PgAdmin连接Docker中的Postgre
- 打开pgadmin,在Dashboard中选择Add New Server
- Host Name为localhost
- 数据库为postgres
- 用户名为postgres
- 密码为12345
这几项都是定义在上述 .env 文件中的
创建表
进入容器
docker exec -it pgdb bash
连接Postgre Server
psql -U postgres
选择数据库
postgres
创建表
CREATE TABLE my_first_table (first_colume text);
查询表
\dt
插入数据
INSERT INTO my_first_table (first_colume) VALUES ('hello PosgreSQL');
这些数据同样可以在pgAdmin中查到
到此为止,PostgreSQL的学习环境就搭建好了