postgres-with-pgadmin4.md
学习是程序员日常的一部分。既然是学习,就少不了写代码,搭建运行环境,部署数据库等等。
之前都是习惯了去下载安装软件,但是还是少不了要去解决一些:环境变量配置、windows 下乱七八糟的问题,等等。不但会影响进度,还影响心情。
现在有了 Docker ,就都把这些交出去吧。但是,但是,但是 Docker 也是需要一些配置的!比如 镜像加速,单独的网络,单独的数据卷,再加上 Compose 和 Swam 。但是幸好这些都是一次性的,而且可以零迁移到 Production 环境。所以还是可以接受的,性价比比较高。
安装 Docker
直接下载安装包安装就好了。windows 和 mac 的安装包,是包含了 docker-machine 的。Linux 上要自己单独安装。
Docker 镜像加速
在 Docker Daemon 里可以添加 Registry 配置,或者修改 /etc/docker/daemon.json 配置。重启生效。
{ |
Docker 起 postgres + pgadmin4
直接去 docker-postgres docker-pgadmin4 上照着文档执行命令就可以了。
docker pull postgres:alpine |
docker pull dpage/pgadmin4 |
问题:
- 两个容器正常起来之后,添加 pgsql 到 pgadmin4 的时候,遇到了点网络问题。
使用localhost 和 127.0.0.1 都连不上。后来是使用 docker network inspect bridge
查看默认的 bridge 的网络里,pgsql container 的 IP 地址,用这个地址连接的。
其他
使用数据卷,方便数据的备份和扩展。
直接使用 –link 连通多个 Docker 容器。
使用 Docker 创建新的网络。
使用 Docker Machine, Compose 和 Swarm。
更新于 2020年3月15日14:36:11
docker-postgres 官方推荐使用 postgres
+ adminer
使用如下 stack.yml
文件
# 启动命令 docker stack deploy postgres -c stack.yml |
- Postgresql 创建用户
CREATE USER tester WITH PASSWORD 'test_password'; |
- Postgresql 给用户添加只读权限
-- Grant usage/select to a single table
GRANT CONNECT ON DATABASE mydb TO xxx;
-- This assumes you're actually connected to mydb..
GRANT USAGE ON SCHEMA public TO xxx;
GRANT SELECT ON mytable TO xxx;
-- Multiple tables/views (PostgreSQL 9.0+)
GRANT SELECT ON ALL TABLES IN SCHEMA public TO xxx;