Docker 搭建 Postgres + pgAdmin 环境
本文将介绍,通过Docker 来快速搭建postgres 和 pgAdmin 环境,快速使用postgres,免去很多配置内容。
准备工作:
良好的网络环境(这个很重要)
已经安装好docker,并正常运行的电脑,如果需要安装docker,请看这里
如果你的电脑不能科学上网,下载镜像速度过慢,可以把镜像源修改成国内源,上面的连接里也有提及。
脚本执行:
Postgres:
必要参数:
POSTGRES_PASSWORD
: 通过环境变量为数据库设置默认密码,这里写一个自己认为安全的就好。current_address
/container_address
: docker里面,对于存储是隔离的,如果容器一旦挂掉,会导致文件消失,所以最好挂在一个路径进去,这里第一个参数是当前系统的路径,后面的路径是postgres在容器内,默认的存储路径,通常是/var/lib/postgresql/data
其他参数:
请访问 postgres 镜像提供网站查看。
pgAdmin:
必要参数:
PGADMIN_DEFAULT_EMAIL
:登录的账号PGADMIN_DEFAULT_PASSWORD
:登录的密码
其他参数:
请访问 pgadmin 镜像提供网站查看。
检查
docker ps
之后,查看一下:
如果不是两个结果,执行以下docker ps -a
查看一下哪个失败了,然后通过 docker logs {CONTAINER ID}
查看一下错误的日志,我认为你可能出错的原因:
端口占用,这里使用了80端口和5432端口,如果其中的被占用,先用
docker rm -f
{CONTAINER ID}
清除失败的容器内容,然后修改上面脚本的端口号,在执行一下即可。Volumn 挂在问题,通常可能是文件夹的权限或者路径问题,检查你挂在的路径是否能够正常访问,其权限是否被操作为只读等等。
docker image 下载失败,网络问题不能保证,多试几次把。
pgAdmin 配置
新建一个服务,输入名字,然后配置Connection 页面:
这里面的 Host name/address
需要注意一下,由于Docker 使用的是桥接模式,与普通的安装相比较,就不能直接使用localhost
的方式直接连接了,具体的内容参见官方文档,这里需要通过 docker inspect postgres
命令查看一下你的network 地址是多少( postgres 是执行脚本里面给数据库的命名,如果你不是这个名字,请换成对应的 container name 或者 container id):
这里我的IPAddress
是 172.17.0.2
, 所以上面的就输入这个IP就好,其他的内容根据自己的实际情况填写即可。
版权声明: 本文为 InfoQ 作者【姜雨生】的原创文章。
原文链接:【http://xie.infoq.cn/article/897d6faf13916b6380ecfa8a5】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论 (1 条评论)