赞
踩
1. 登录dockhub
docker login -u username -p password
2. 查询镜像
docker search postgre
3. 拉取镜像
docker pull postgres
4. 查看镜像
docker images
5. 启动镜像容器
docker run --name postgres -e POSTGRES_PASSWORD=pw-p 5432:5432 -d postgres
docker run --name some-postgres -v /my/own/datadir:/var/lib/postgresql/data -e POSTGRES_PASSWORD=123456 -d -p 5432:5432 postgres:10.12 --restart=always
如果创建时未指定 --restart=always ,可通过 update 命令
docker update --restart=always some-postgres
docker run --name postgres -v D:\postgres-data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=password -d -p 5432:5432 postgres
6. 查看容器
docker ps
7. 使用navicat premium连接
docker开启postgres 的ssl require
1. 创建证书
共三个文件,root.crt,server.crt,server.key;
使用安装好的openssl,创建证书;
openssl req -new -x509 -days 365 -nodes -text -out server.crt -keyout server.key -subj "/CN=dbhost.yourdomain.com"
生成的证书默认在执行命令行的目录下;
root.crt,拷贝server.crt,修改名称为root.crt;
2. 进入postgres挂载文件的路径,如D:\postgres-data
将生成的三个文件放到根目录下;
修改两个文件:pg_hba.conf,postgresql.conf
postgresql.conf,修改如下内容:
- # - SSL -
-
- ssl = on
- ssl_ca_file = 'root.crt'
- ssl_cert_file = 'server.crt'
- #ssl_crl_file = ''
- #ssl_crl_dir = ''
- ssl_key_file = 'server.key'
pg_hba.conf修改如下内容:
- # host DATABASE USER ADDRESS METHOD [OPTIONS]
- # hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
- # hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
- # hostgssenc DATABASE USER ADDRESS METHOD [OPTIONS]
- # hostnogssenc DATABASE USER ADDRESS METHOD [OPTIONS]
- hostssl all postgres 0.0.0.0/0 md5#clientcert=1
- #
3. 重启容器
docker restart 容器id
4. 进入容器,修改data目录下文件权限
- root@c24746f01d8b:/var/lib/postgresql/data# pwd
- /var/lib/postgresql/data
- root@c24746f01d8b:/var/lib/postgresql/data# cd ../
- root@c24746f01d8b:/var/lib/postgresql# ls
- data
- root@c24746f01d8b:/var/lib/postgresql# chown -R postgres:postgres data
- root@c24746f01d8b:/var/lib/postgresql# chmod -R 0700 data
- root@c24746f01d8b:/var/lib/postgresql# exit;
- exit
- PS C:\WINDOWS\system32> docker ps
5. 重启容器
docker restart 容器id
6. 使用navicat premium测试连接
1. 进入docker容器
docker exec -it c24746f01d8b /bin/bash
2. 连接postgres数据库
root@c24746f01d8b:/# psql -h localhost --u username
3. 查看数据库List
postgres=# \l
4. 切换数据库
postgres=# \c comcloud_x
5. 查看数据库表
comcloud_x=# \d
6. 查询数据库表
comcloud_x=# select * from third_user \g
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。