docker安装pg9.6
时间: 2023-05-31 21:04:06 浏览: 219
以下是在Docker中安装PostgreSQL 9.6的步骤:
1. 首先,从Docker Hub上获取PostgreSQL 9.6的镜像:
```
docker pull postgres:9.6
```
2. 创建一个容器并运行:
```
docker run --name pg96 -e POSTGRES_PASSWORD=mysecretpassword -d postgres:9.6
```
在上面的命令中,我们创建了一个名为pg96的容器,并将其与PostgreSQL 9.6的镜像关联。我们还设置了一个环境变量POSTGRES_PASSWORD,该变量将用作数据库的密码。
3. 确认容器是否正在运行:
```
docker ps
```
如果容器正在运行,则应该看到它的状态为“Up”。
4. 在容器中运行psql命令:
```
docker exec -it pg96 psql -U postgres
```
这将在容器中打开psql命令行界面,您可以在其中执行PostgreSQL命令。
您现在已成功安装并运行了PostgreSQL 9.6的Docker容器。
相关问题
docker下载pg9.6
可以使用以下命令下载pg9.6的docker镜像:
docker pull postgres:9.6
然后可以使用以下命令启动一个pg9.6的容器:
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres:9.6
其中,"some-postgres"是容器的名称,"mysecretpassword"是数据库的密码。
docker pg9.6 主从配置
Docker用于容器化应用,而PostgreSQL(pg9.6)是一款流行的开源关系型数据库管理系统。要在Docker容器中设置主从复制(Master-Slave replication),你需要执行以下步骤:
1. **安装PostgreSQL Docker镜像**:
使用官方的PostgreSQL镜像,例如`postgres`, 或者如果需要特定版本如pg9.6,你可以使用`library/postgres:9.6-alpine`。
```sh
docker pull library/postgres:9.6-alpine
```
2. **启动主数据库(Master)**:
创建一个新的容器并映射数据卷到容器内部,以便持久存储数据。在启动时指定 `-e POSTGRES_PASSWORD=mysecretpassword` 设置密码,确保容器监听网络端口供其他容器连接。
```sh
docker run -d --name my_postgres_master \
-p 5432:5432 \
-v /path/to/local/data:/var/lib/postgresql/data \
-e POSTGRES_PASSWORD=mysecretpassword \
library/postgres:9.6-alpine
```
3. **启动从数据库(Slave)**:
创建另一个容器并设置为从主数据库复制。同样,创建数据卷,指定数据库密码和网络参数。使用`-e MASTER_HOST=$(hostname)` 和 `--link my_postgres_master:maindb` 命令,连接到主数据库。
```sh
docker run -d --name my_postgres_slave \
-p 5433:5432 \
-e POSTGRES_PASSWORD=mysecretpassword \
-e MASTER_USER=your_username \
-e MASTER_HOST=$(hostname) \
--link my_postgres_master:maindb \
library/postgres:9.6-alpine
```
4. **配置主从复制**:
在主数据库上运行SQL命令启用wal接收器(walreceiver),然后在从库上运行`pg_basebackup`或`streaming-replication-start`等命令启动复制。这通常在启动时由脚本处理,但也可以手动进行。
```sql
-- 主库(master)
ALTER SYSTEM SET listen_addresses = '*';
CREATE USER your_username WITH REPLICATION ENCRYPTED PASSWORD 'your_password';
-- 从库(slave)
pg_basebackup -h $(hostname) -U your_username -P your_password -Ft -D /var/lib/postgresql/data
```
5. **监控与故障转移**:
可以考虑使用如pgAdmin或Prometheus、Grafana这样的工具对主从模式进行管理和监视,以防主库出现问题时能自动切换到从库。
阅读全文