PostgreSQL 基于Docker的多实例安装
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PostgreSQL 基于Docker的多实例安装,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5109字,纯文字阅读大概需要8分钟。
内容图文
![PostgreSQL 基于Docker的多实例安装](/upload/InfoBanner/zyjiaocheng/461/008f29d84ffd4622a5c434134143a00a.jpg)
根据系统写入:
deb https://apt.dockerproject.org/repo debian-jessie main
- 安装
sudo apt-get update sudo apt-get install docker-engine
- 开启服务
sudo service docker start
- 验证
sudo docker run hello-world 该命令会下载一个测试镜像,并在容器内运行,打印出相关信息,当看到类似如下信息是表示运行正常。 Hello from Docker. This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.
安装PostgreSQL
- 下载最新官方PostgeSQL镜像
sudo docker pull postgres
- 启动 两个镜像,分别映射至宿主机5454及5455端口
sudo docker run --name cluster1 -p 5454:5432 -e POSTGRES_PASSWORD=postgres -d postgres sudo docker run --name cluster2 -p 5455:5432 -e POSTGRES_PASSWORD=postgres -d postgres
- 查看运行中的容器及相关信息
cxy@debian:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3bf3b533ba05 postgres "/docker-entrypoint.s" 26 seconds ago Up 24 seconds 0.0.0.0:5455->5432/tcp cluster2 29b9ffeb6ac8 postgres "/docker-entrypoint.s" 58 seconds ago Up 56 seconds 0.0.0.0:5454->5432/tcp cluster1 cxy@debian:~$ sudo docker inspect 3bf3b533ba05 |grep IPAddress "SecondaryIPAddresses": null, "IPAddress": "172.17.0.3", "IPAddress": "172.17.0.3", cxy@debian:~$ sudo docker inspect 29b9ffeb6ac8 |grep IPAddress "SecondaryIPAddresses": null, "IPAddress": "172.17.0.2", "IPAddress": "172.17.0.2",
- 根据上一步中的IPAddress,进行连接测试
cxy@debian:~$ psql -h172.17.0.2 -Upostgres -p5432 Password for user postgres: psql (9.5.0) Type "help" for help. postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+------------+------------+----------------------- postgres | postgres | 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 (3 rows) cxy@debian:~$ psql -h172.17.0.3 -Upostgres -p5432 Password for user postgres: psql (9.5.0) Type "help" for help. postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+------------+------------+----------------------- postgres | postgres | 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 (3 rows) 通过宿主机地址和端口连接数据库 cxy@debian:~$ psql -h192.168.10.131 -p5454 -Upostgres Password for user postgres: psql (9.5.0) Type "help" for help. postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+------------+------------+----------------------- postgres | postgres | 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 (3 rows) postgres=# \q cxy@debian:~$ psql -h192.168.10.131 -p5455 -Upostgres Password for user postgres: psql (9.5.0) Type "help" for help. postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+------------+------------+----------------------- postgres | postgres | 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 (3 rows)
查看容器内数据文件、配置文件、网络授权文件设置
sudo docker exec -it 3bf3b533ba05 /bin/bash 所有postgresql配置文件和数据数据文件位于: /var/lib/postgresql/data
PostgreSQL 基于Docker的多实例安装
标签:
本文系统来源:http://www.cnblogs.com/cxy486/p/5141111.html
内容总结
以上是互联网集市为您收集整理的PostgreSQL 基于Docker的多实例安装全部内容,希望文章能够帮你解决PostgreSQL 基于Docker的多实例安装所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。