在云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

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1265 4
|
4月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
345 0
|
3月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
172 5
|
3月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
198 17
|
3月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
707 5
|
4月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
319 12
docker 部署 sftp
|
4月前
|
运维 Linux 数据库
基于 Docker 部署 n8n 指南,新手一看就会
本教程详解如何通过 Docker 快速部署开源自动化工具 n8n,适合新手快速上手。内容涵盖官方部署步骤、常见难点及第三方一键部署方案,助你高效搭建自动化工作流平台。
1366 6