当前位置:   article > 正文

基于docker快速启动postgreSQL_docker启动postgres

docker启动postgres

概要

如何快速的在本机启动postgreSQL?

技术细节

1. 准备宿主机存储路径
mkdir -p /data1/postgresql12
chown -R 1001:1001 /data1/postgresql12
  • 1
  • 2

bitnami 提供的postgresql镜像中,有一个postgres用户要在该创建data目录,需要给一下权限
进入镜像:cat /etc/passwd
postgres: x:1000:1000::/home/postgres:/bin/sh
避免下面的报错
postgresql 06:39:19.64 WARN ==> Lack of permissions on data directory!
chmod: changing permissions of ‘/bitnami/postgresql/data’: Operation not permitt

2. docker 启动脚本
docker run -d --restart=always --name postgres -v /data1/postgresql12:/bitnami/postgresql -e POSTGRES_PASSWORD=Aa@123  -p 5000:5432 postgresql:12.8.0
  • 1
-d :守护进程,后台运行该容器
--restart=always :开机自启动
--name postgres:容器的名称
-v :目录映射,容器目录挂载到宿主机目录,格式: <宿主机目录>:<容器目录>
-e :设置启动环境变量 
-p :启动的端口号, 宿主机端口:容器内服务的端口
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

访问地址:服务器IP:5000 (端口可以根据自己的需要修改)
账号/密码:postgres/Aa@123

3. docker 相关的命令
# 在公共仓库中下载
docker pull bitnami/postgresql:12.8.0

# 查看镜像
docker images |grep postgresql

# 打tag推送到本地仓库
docker tag  postgresql:12.8.0 docker.公司域名.com/library/postgresql:12.8.0

# 推送到本地仓库
docker push docker.公司域名com/library/postgresql:12.8.0

# 镜像导出,在没有网络的情况下转移
docker save postgresql:12.8.0 > postgresql-12.8.0.tar

# 镜像加载
docker load < postgresql-12.8.0.tar

# 查询服务的ID
docker ps |grep postgresql 运行中的容器
docker ps  -a |grep postgresql  全部的容器
#根据id查 日志
docker logs -f f8911198f0d3 --tail=100

# 查看该镜像的元信息
docker inspect f8911198f0d3 

# 重启镜像服务
docker restart f8911198f0d3 

# 停止镜像服务
docker stop f8911198f0d3 

#启动镜像服务
docker stop f8911198f0d3 

#删除镜像服务
docker rm f8911198f0d3
#删除镜像
docker rmi postgresql:12.8.0

#进入容器
docker exec -it f8911198f0d3 bash
容器中的数据库目录
cd /bitnami/postgresql/data
宿主机中的的目录

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
4. PostgreSql 数据相关的命令
# 进入容器  
docker exec -it f8911198f0d3 bash
# 进入postgresql客户端
psql -h localhost -U postgres -p 5432

#查看所有数据库
\l 
# 创建数据库
create database 数据库名字(cp_user);

#进入某个数据库
\c 数据库名字(cp_user)

# 创建表
drop table if exists "public"."t_user";
create table "public"."t_user" (
  "id" int4 not null,
  "name" varchar(255) collate "pg_catalog"."default"
);
comment on column "public"."t_user"."id" is '编号';
comment on column "public"."t_user"."name" is '名称';
alter table "public"."t_user" add constraint "t_user_pkey" primary key ("id");

# 查看数据库中的表
\dt 表名 : user

# 插入数据
insert into "public"."t_user"("id", "name") values (1001, 'lisa');
insert into "public"."t_user"("id", "name") values (1002, 'jack');
 
#查看某个表的所有数据
select * from 表名 
select * from  t_user;  
如果表名是user,因user是保留此,查询需要 select *  from public.user;

# 修改某条数据
update "public"."t_user" set "name" = 'jack' where "id" = 1002;

# 删除某条数据
delete from t_user where id =1001
# 添加字段 
alter table t_user add age  varchar(32);

# 修改字段的注释
comment on column t_user.age is '年龄';

# 导出数据库
pg_dump -U 用户名 数据库名 > 导出文件名

# 导入数据库
psql -U 用户名 数据库名 < 导入文件名 :

#退出数据库

 \q  或 ctrl + z

# 查询特定模式下的所有表名
select tablename from pg_tables where schemaname = 'public'`

# 备份数据库。
使用命令`pg_dump -U 'username' -p 'port number' -d 'database' > 'dump file name'`
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
5. 扩展知识-用户组描述
用户账户的信息存放在/etc/passwd文件中;
超级用户root(0)
程序用户(1~499)
普通用户(500~65535)

用户名 密码 uid gid 用户说明 家目录 shell解释器
python : x : 1001 : 1001 : : /home /python : /bin/sh
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/464720
推荐阅读
相关标签
  

闽ICP备14008679号