docker中运行PostgreSQL容器

news/2024/7/9 22:26:54 标签: docker, postgresql

我们如何在docker中运行postgresql容器,要进过如下几个步骤就可以了。

  1. 拉取postgresql容器
 docker pull postgres:latest

使用上述命令将从 Docker Hub 存储库中提取最新可用版本的 PostgreSQL。

  1. 从 PostgreSQL 服务器 Docker 镜像运行容器
    在部署之前,您需要设置一个 Docker 卷或绑定安装来持久化您的数据库。否则,当容器重新启动时,您的数据将丢失,创建数据卷命令如下
docker volume create postgres-volume
  1. 现在你的机器上有 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表示容器的密码
  1. 查看容器是否在运行,有postgres13这个名字表示正在运行
docker ps

在这里插入图片描述
要ports有映射才开启成功,如果不成功可以查看日志,我这里改了名字

docker logs postgres13

5.要连接可以用navicat和pgadmin,pgadmin可能更好用一些,但是有些插件要自己安装,你可以将压缩包复制进容器中,然后按照liunx那种方式进行操作就可以了。

  1. 说明,创建数据卷,和查看数据卷的目录可以方便我们更好的移动数据
    首先,需要创建一个数据卷。可以使用以下命令创建数据卷:
docker volume create oraclevolume

该命令将创建一个名为 oraclevolume 的数据卷。可以使用 docker volume ls 命令来确认数据卷是否已创建。

使用命令查询数据卷的目录

docker volume inspect <volume-name>

该命令将输出指定数据卷的详细信息,包括该数据卷挂载到哪个容器的哪个目录上,以及在宿主机中的实际存储路径等信息。


http://www.niftyadmin.cn/n/421641.html

相关文章

AWS CodeWhisperer 心得体会:安装与使用

大家好&#xff0c;今天我要和大家分享一下我在使用 AWS CodeWhisperer 这个工具时的心得体会。首先&#xff0c;让我们了解一下什么是 AWS CodeWhisperer。 什么是 AWS CodeWhisperer&#xff1f; AWS CodeWhisperer 是一个用于帮助开发者在 AWS 云平台上更轻松地编写、测试…

基于Python的接口自动化-读写配置文件

目录 引言 configparser模块功能介绍 引言 在编写接口自动化测试脚本时&#xff0c;有时我们需要在代码中定义变量并给变量固定的赋值。为了统一管理和操作这些固定的变量&#xff0c;咱们一般会将这些固定的变量以一定规则配置到指定的配置文件中&#xff0c;后续需要用到这…

mac电脑m1搭建java开发环境参考手册

1 背景介绍 开发人员经常会换电脑&#xff0c;或者换新电脑&#xff0c;意味着重新搭建开发环境&#xff0c;很麻烦。但新电脑到手里面了&#xff0c;不换又不好&#xff0c;此篇专门用来记录mac电脑m1搭建java开发环境的步骤。希望对读者有所帮助&#xff0c;一条龙服务。 后…

对象进阶-继承、原型-原型链

工厂方法创建对象 我们之前已经学习了如何创建一个对象&#xff0c;那我们要是想要创建多个对象又该怎么办&#xff1f;聪明的同学可能会说&#xff0c;直接在写几个对象不就好了吗&#xff1f;比如下边的代码&#xff1a; var person1 {name: "孙悟空",age: 18,s…

Vue模板语法中的指令(directive)是什么?

首先&#xff0c;指令是一种特殊的属性&#xff0c;它以“v-”开头&#xff0c;用于在Vue模板中添加一些行为。它们就像魔法一样&#xff0c;可以让你的模板变得生动活泼。 好的&#xff0c;让我们开始吧&#xff01; v-if 指令 v-if指令是Vue中最常用的指令之一。它可以根据…

MySQL左右内连接汇总

1.左连接&#xff08;左外&#xff09; 2.右连接&#xff08;右外&#xff09; 3.内连接 4.全连接 5.全连接去交集 6.A独有

代码随想录算法训练营第五十六天 | 力扣 583. 两个字符串的删除操作, 72. 编辑距离

583. 两个字符串的删除操作 题目 583. 两个字符串的删除操作 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 解析 1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义 …

XuperChain搭建+报错+注意事项

安装依赖 golang 这里安装的是15-17版本 wget -c https://dl.google.com/go/go1.15.2.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local 添加环境变量 这个可以通过添加下面的行到/etc/profile文件(系统范围内安装)或者$HOME/.profile文件(当前用户安装 vim /etc…