以下为实验版本:
Docker version:18.09.2
Postgres: 11.4
内容目录:
1.确定需要安装的版本
版本不同可能还是会存在差异,这边没有追新,选择了11.4的版本进行测试
2.获取指定版本镜像
docker search postgres
docker pull postgres:11.4
3.指定数据挂载目录
为了镜像停止后数据还存在,一般都会将数据目录挂载出来。(其他容器化的部署都是这样操作的)
#创建挂载目录
mkdir ~/docker/postgres/data
4.启动Postgres服务
#测试场景直接将5432的默认端口代理出来了,绑定了数据持久化目录,指定了11.4的版本
docker run --name postgresql -e POSTGRES_PASSWORD=YOUR_PASSWORD -p 5432:5432 -v ~/docker/postgres/data:/var/lib/postgresql/data -d postgres:11.4
5.创建数据库、用户
5.1 进入容器内部
docker exec -it postgresql /bin/sh
5.2 切换超级用户创建用户
# su postgres
postgres@a:/$ createuser -P -s -e test
Enter password for new role:
Enter it again:
SELECT pg_catalog.set_config('search_path', '', false)
CREATE ROLE test PASSWORD 'md***************e' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
postgres@a:/$ psql
psql (11.4 (Debian 11.4-1.pgdg90+1))
Type "help" for help.
5.3 切换超级用户创建数据库
postgres=# create database sms owner=test;
CREATE DATABASE
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+-----------+----------+------------+------------+-----------------------
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
sms | test | 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
(4 rows)
至此,从外部就可通过 test@127.0.0.1:5432/sms 的方式访问DB了
Featured Tags
工具类
XML
JAVA
Java
Mybatis
反射
代理模式
日志
工厂方法模式
装饰器模式
结果集映射
Web
RESTful
WebAPI规范
SQL
Redis
Jira
SynapseRT
有限状态机 State Machine
statemachine
SpringBoot
IDEA
Tomcat
Vue
Docker
Springboot
Apache Ignite
项目发布与调试
白帽子讲web安全
黑名单
通用化
企业中台实践
MacOS
docker
minio
springboot
分布式存储
Postgres
数据备份
数据恢复
K8S
抖音小程序
开发实践
SpringCloud
Skywalking
Nacos
Kubernetes
Secret
ConfigMap
Git
GitOps
云原生
RocketMQ
ActiveMQ-Artemis
ClickHouse
Kamailio
sipp
Homer
heplify
heplify-server
HEP