在云ECS上使用Docker部署pgAdmin4

简介: 由于参加阿里云pgAdmin4共创任务,刚好发现pgAdmin居然提供了Docker版本,心想便于交流自己的成果,就将它部署到我的ECS上吧。在整个过程也是对于Docker的学习加深了一些,以此分享。

由于参加阿里云pgAdmin4共创任务,刚好发现pgAdmin居然提供了Docker版本,心想便于交流自己的成果,就将它部署到我的ECS上吧。在整个过程也是对于Docker的学习加深了一些,以此分享。

首先,获取docker版的pgadmin4。使用命令:

docker pull dpage/pgadmin4

最开始我没有看官网就安装了,是使用docker搜索的,然后安装Starts最多的,结果发现是官网提供的就是Starts最多的了。搜索命令如下:

docker search pgadmin4

搜索到docker后,以名字获取。就是第一条命令了。

根据官方文档介绍,需要一些环境变量,针对HTTPS时更多,这里仅介绍两个最重要的(HTTP时仅需要的两个,HTTPS也是必须的)。

  • PGADMIN_DEFAULT_EMAIL:这个可以作为你登录Pgadmin4的用户名;
  • PGADMIN_DEFAULT_PASSWORD:登录Pgadmin4的默认密码。

然后以HTTP方式启动Docker,命令如下:

    docker run -p 80:80 \
    -e "PGADMIN_DEFAULT_EMAIL=user@domain.com" \
    -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \
    -d dpage/pgadmin4

关于docker run使用的参数:

  • p:端口映射,冒号前面是主机的端口,后面是容器中的端口。上例中是将容器的80端口映射到主机的80端口。
  • e:设置环境变量。
  • d:在后台运行容器,并打印出容器的ID(只有以d参数运行后,才支持使用stop/start/restart命令对指定ID的容器进行操作)

启动HTTPS的命令如下:

    docker run -p 443:443 \
    -v "/private/var/lib/pgadmin:/var/lib/pgadmin" \
    -v "/path/to/certificate.cert:/certs/server.cert" \
    -v "/path/to/certificate.key:/certs/server.key" \
    -v "/tmp/servers.json:/servers.json" \
    -e "PGADMIN_DEFAULT_EMAIL=user@domain.com" \
    -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \
    -e "PGADMIN_ENABLE_TLS=True" \
    -d dpage/pgadmin4

我只启动了HTTP模式。

然后我对pgAdmin4进行了相关修改。

之后我使用putty的pscp命令将我的修改上传到ECS中。命令如下:

将方括号[]中的值替换为实际值即可完成向远程拷贝文件。同时,如果将远程文件拷贝到本地,则将pscp后面的两个参数调换位置即可。

支持目录传输的是psftp命令。我没有使用。所以如果你要使用自己查看参数,--help即可查看参数。

下一步操作是要将修改后的文件替换到docker中。

docker窗口已经启动,确认docker中的目录结果,运行如下命令:

docker exec -it 12xxxxx /bin/sh

上面命令是在ID为12xxxxx的容器中执行/bin/sh命令。其中参数

  • i:代表在没有附加到容器时也使用STDIN输出信息。
  • t:分配一个虚拟的TTY。

拷贝文件到容器中,执行如下命令:

docker cp [localfile] 12xxxxx:[path]

上面是将主机文件拷贝到窗口中,如果需要重命名在[path]中指定目标文件名即可,不重命名只指定目录即可。替换上面的方括号中参数为具体值即可完成容器和主机间文件的传输。

拷贝完文件为了使用新文件生效,可以使用下列命令重启容器:

docker restart 12xxxxx

注意:容器ID是一个很长的字符串,我们只要输入前几位能唯一标识出容器即可。

下图是我部署后的pgAdmin4的运行效果:
2019_05_10_155903

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
并行计算 前端开发 异构计算
告别服务器繁忙,云上部署DeepSeek
本文以 DeepSeek-R1-Distill-Qwen-32B-FP8 为例,向您介绍如何在GPU实例上使用容器来部署量化的 DeepSeek-R1 蒸馏模型。
|
5天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
152 91
|
6天前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
7天前
|
机器学习/深度学习 人工智能 开发者
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
140 7
|
8天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。
|
10天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
|
11天前
|
机器学习/深度学习 弹性计算 人工智能
在阿里云ECS上一键部署DeepSeek-R1
Open WebUI 和 Ollama 的联合,通过集成 DeepSeek-R1 的强大功能,赋予每一位用户使用尖端 AI 技术的能力,使得复杂的 AI 技术不再是遥不可及的梦想。无论是研究人员、开发者,还是企业用户,您都能从这一创新中获得新的灵感和增长点。本文介绍通过计算巢一键部署和使用DeepSeek-R1。
在阿里云ECS上一键部署DeepSeek-R1
|
13天前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
72 44
|
21天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
25天前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤