Docker搭建Postgresql数据库
时间: 2024-04-25 07:23:15 浏览: 123
Docker可以用来搭建Postgresql数据库。首先,你需要下载Postgresql镜像并创建容器。你可以使用以下命令来创建三个数据库容器:master、slave0和slave1。每个容器都有不同的端口号和密码。例如,master容器的端口号是54320,密码是123。slave0容器的端口号是54321,密码是121。slave1容器的端口号是54322,密码是122。[3]
接下来,你可以使用以下命令来检查Postgresql容器的状态和日志。使用"docker ps"命令可以查看容器的状态,包括容器ID、镜像、命令、创建时间和状态等信息。[2]使用"docker logs"命令可以查看容器的日志信息。
最后,你可以使用psql客户端连接到Postgresql数据库,并使用命令"psql -h localhost -p <端口号> -U <用户名> -d <数据库名>"来连接到指定的数据库。使用命令"\l"可以查看Postgresql内的所有数据库。[1]
希望以上信息对你有帮助!
相关问题
docker 部署 postgresql 集群
要在 Docker 中部署 PostgreSQL 集群,可以使用 Docker Compose 来管理多个容器。以下是部署 PostgreSQL 集群的步骤:
1. 创建 Docker Compose 配置文件
在任意目录下创建一个 `docker-compose.yml` 文件,填写以下内容:
```
version: '3'
services:
primary:
image: postgres
ports:
- "5432:5432"
environment:
- POSTGRES_PASSWORD=your_password
- POSTGRES_USER=your_user
- POSTGRES_DB=your_database
volumes:
- primary:/var/lib/postgresql/data
standby:
image: postgres
environment:
- POSTGRES_PASSWORD=your_password
- POSTGRES_USER=your_user
- POSTGRES_DB=your_database
- STANDBY=1
volumes:
- standby:/var/lib/postgresql/data
depends_on:
- primary
volumes:
primary:
standby:
```
其中,`primary` 和 `standby` 分别表示主节点和备份节点,`POSTGRES_PASSWORD`、`POSTGRES_USER` 和 `POSTGRES_DB` 分别是 PostgreSQL 的密码、用户名和数据库名。`volumes` 指定了数据卷的挂载位置,这可以确保数据在容器重启后可以被保留。
2. 启动 PostgreSQL 集群
在配置文件所在目录下执行以下命令来启动 PostgreSQL 集群:
```
docker-compose up -d
```
这条命令会在后台启动两个容器,一个是主节点,一个是备份节点。
3. 切换到主节点
进入主节点容器内:
```
docker exec -it <primary_container_name> bash
```
切换到 PostgreSQL 环境:
```
psql -U your_user your_database
```
执行以下命令,将主节点设置为可写:
```
SELECT pg_create_physical_replication_slot('replica_slot');
```
4. 切换到备份节点
进入备份节点容器内:
```
docker exec -it <standby_container_name> bash
```
切换到 PostgreSQL 环境:
```
psql -U your_user your_database
```
执行以下命令,将备份节点设置为只读:
```
SELECT pg_create_physical_replication_slot('replica_slot', true);
SELECT pg_basebackup('host=<primary_container_name> port=5432 user=your_user password=your_password sslmode=prefer', '-X stream -c fast -R -P');
```
其中,`<primary_container_name>` 是主节点容器的名称。
5. 测试 PostgreSQL 集群
在主节点中创建一个表:
```
CREATE TABLE test (id SERIAL PRIMARY KEY, name VARCHAR(50));
INSERT INTO test (name) VALUES ('test');
```
在备份节点中查询该表:
```
SELECT * FROM test;
```
如果能够查询到数据,说明 PostgreSQL 集群已经搭建成功。
以上就是在 Docker 中部署 PostgreSQL 集群的步骤,希望能对你有所帮助。
docker搭建gitea
要在 Docker 中搭建 Gitea,可以按照以下步骤进行操作:
1. 下载 Gitea 的 Docker 镜像。
```
$ docker pull gitea/gitea
```
2. 创建一个 Docker 数据卷,用于持久化 Gitea 数据。
```
$ docker volume create gitea-data
```
3. 使用 Docker Compose 创建一个 Gitea 容器。
创建一个名为 `docker-compose.yml` 的文件,内容如下:
```
version: '3'
services:
gitea:
image: gitea/gitea
restart: always
volumes:
- gitea-data:/data
ports:
- 3000:3000
- 22:22
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=sqlite3
- DISABLE_REGISTRATION=true
- ROOT_URL=http://localhost:3000
- SSH_PORT=22
- SSH_LISTEN_ADDRESS=0.0.0.0
- SSH_DISABLE_PASSWORD_AUTH=true
- GITEA_CUSTOM=/data/gitea
volumes:
gitea-data:
```
运行以下命令启动容器:
```
$ docker-compose up -d
```
4. 访问 Gitea 网站。
打开浏览器,访问 `http://localhost:3000`,即可进入 Gitea 网站。初次访问时,需要设置管理员账号和密码,并进行一些基本的配置。
注意:如果要在生产环境中使用 Gitea,建议使用 PostgreSQL 或 MySQL 数据库,而不是默认的 SQLite3。可以参考 Gitea 的官方文档进行配置。
阅读全文