我们如何在docker中运行postgresql容器,要进过如下几个步骤就可以了。
- 拉取postgresql容器
docker pull postgres:latest
使用上述命令将从 Docker Hub 存储库中提取最新可用版本的 PostgreSQL。
- 从 PostgreSQL 服务器 Docker 镜像运行容器
在部署之前,您需要设置一个 Docker 卷或绑定安装来持久化您的数据库。否则,当容器重新启动时,您的数据将丢失,创建数据卷命令如下
docker volume create postgres-volume
- 现在你的机器上有 PostgreSQL 镜像和一个用于保存数据的卷,你可以部署一个容器:
docker run -d --name=postgres13 -p 5432:5432 -v postgres-volume:/var/lib/postgresql/data -e POSTGRES_PASSWORD=your_password postgres
该 docker run 命令将在 Docker 容器中创建一个正在运行的 PostgreSQL 数据库,-v表示将数据库卷挂载到容器下面的那个目录上面去了
让我们分解一下这个语法。以下是该命令中每个参数的含义:
-d 将以分离模式运行此容器,以便它在后台运行。
--name 将名称“postgres13”分配给您的容器实例名字,通过这个名字以后可以直接启动
-p会将 PostgreSQL 容器端口 5432 绑定到主机上的相同端口,外部通过5432这个命令可以直接访问
-v选项将容器内的目录/var/lib/postgresql绑定到postgres-volume上,保证你以后的数据不会丢失
-e设置环境变量。在这种情况下,PostgreSQL表示容器的密码
- 查看容器是否在运行,有postgres13这个名字表示正在运行
docker ps
要ports有映射才开启成功,如果不成功可以查看日志,我这里改了名字
docker logs postgres13
5.要连接可以用navicat和pgadmin,pgadmin可能更好用一些,但是有些插件要自己安装,你可以将压缩包复制进容器中,然后按照liunx那种方式进行操作就可以了。
- 说明,创建数据卷,和查看数据卷的目录可以方便我们更好的移动数据
首先,需要创建一个数据卷。可以使用以下命令创建数据卷:
docker volume create oraclevolume
该命令将创建一个名为 oraclevolume 的数据卷。可以使用 docker volume ls 命令来确认数据卷是否已创建。
使用命令查询数据卷的目录
docker volume inspect <volume-name>
该命令将输出指定数据卷的详细信息,包括该数据卷挂载到哪个容器的哪个目录上,以及在宿主机中的实际存储路径等信息。