pgsql14 容器内 //var/lib/pgsql/14/data/ 配置和数据如何挂载到 宿主机
时间: 2024-11-09 15:18:33 浏览: 31
在Docker中运行PostgreSQL (pgsql14) 时,如果你想将`/var/lib/pgsql/14/data/`目录内的配置文件和数据挂载到宿主机上,可以按照以下步骤操作:
1. **创建数据卷(Docker Volume)**:
在宿主机上创建一个新的数据卷,用于存储PostgreSQL的数据:
```
$ docker volume create postgres_data
```
2. **启动容器时挂载数据**:
当你启动容器时,使用`-v`选项将数据卷映射到容器的`/var/lib/pgsql/14/data/`路径。例如:
```bash
$ docker run -d \
--name my_postgres \
--volume postgres_data:/var/lib/pgsql/14/data \
-e POSTGRES_USER=myuser \
-e POSTGRES_PASSWORD=mypassword \
-p 5432:5432 \
postgres:14
```
这里 `-e` 参数用于设置环境变量,`-p` 参数暴露了数据库端口。
3. **配置文件挂载**:
如果你想要把配置文件也挂载到宿主机,通常不需要特别处理,因为PostgreSQL会默认在启动时从`/etc/postgresql/14/main`(或对应版本)下查找配置文件。但是,如果你有自定义配置文件,并希望宿主机上的特定配置覆盖容器中的默认配置,可以在启动时添加另一个`-v`选项指向宿主机上的配置文件目录。
4. **访问数据和管理**:
数据和配置文件已经挂载后,你可以通过宿主机上的相应路径访问它们。例如,你可以在宿主机的`/var/lib/docker/volumes/postgres_data/_data`目录看到数据库数据。
阅读全文