在云ECS上使用Docker部署pgAdmin4

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 由于参加阿里云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

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
运维 Linux 虚拟化
Docker详解(三)——Docker安装与部署
Docker详解(三)——Docker安装与部署
22 4
|
1天前
|
测试技术 Linux Docker
【好玩的经典游戏】Docker部署FC-web游戏模拟器
【好玩的经典游戏】Docker部署FC-web游戏模拟器
18 1
|
2天前
|
域名解析 网络协议 安全
服务器部署访问出错的原因和解决办法
部署到服务器后无法访问可能是由于配置错误、权限问题或网络设置不当。解决办法包括检查服务器配置文件、确保文件路径正确、调整权限设置以及检查防火墙和端口设置。
11 4
|
3天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
32 1
|
5天前
|
存储 测试技术 文件存储
【Docker项目实战】使用Docker部署Sun-Panel导航面板
【4月更文挑战第19天】使用Docker部署Sun-Panel导航面板
54 7
|
7天前
|
Java 应用服务中间件 Linux
在阿里云服务器上部署Tomcat详细图文详解
本文介绍了在阿里云服务器上安装和配置JDK和Tomcat的步骤。首先,需要注册阿里云账号并进行实名认证,然后购买并设置服务器。接着,通过File Zilla连接服务器,创建Java和Tomcat的安装目录,并将JDK和Tomcat的tar.gz文件上传到服务器,解压并重命名。之后,配置JDK的环境变量,将catalina.sh复制到/etc/init.d/目录下,并修改相关配置。最后,启动Tomcat并配置安全组规则,确保可以通过公网访问。
|
7天前
|
弹性计算 Java Linux
阿里云服务器搭建部署宝塔详细流程
该内容是一个阿里云服务器和域名的配置指南。首先,需注册阿里云账号并进行企业实名认证。接着,选购服务器如2核2G1兆的Linux系统,并购买域名。完成域名备案后,进行域名解析和ICP备案。然后,通过远程连接登录服务器,重置密码,安装宝塔面板。在安全组中开启宝塔面板随机生成的端口。最后,登录宝塔面板安装LNMP环境,配置数据库如MySQL和Redis,部署JDK、Tomcat,上传前端和后端项目以实现上线。
|
8天前
|
弹性计算 JavaScript Java
阿里云服务器搭建部署宝塔详细流程
以下是内容的摘要: 本文主要介绍了在阿里云上创建和配置服务器环境的步骤,包括注册阿里云账号、实名认证、购买和设置服务器、域名的获取与备案、以及使用宝塔面板安装和配置环境。首先,用户需要注册阿里云账号并进行实名认证,选择合适的服务器配置。接着,购买服务器后,要准备并备案域名,以便通过友好的网址访问网站。在服务器上安装宝塔面板,可以方便地管理和配置LAMP/LNMP/Tomcat/Node.js等应用环境。完成这些步骤后,用户还需要在宝塔面板中安装MySQL、Redis等数据库,部署Java或Vue项目,并配置相关端口。最后,将前端项目打包上传至服务器,并设置站点,即可实现网站的上线。
|
8天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
8天前
|
测试技术 Linux 网络安全
【好玩的开源项目】使用Docker部署SyncTV视频同步和共享平台
【4月更文挑战第16天】使用Docker部署SyncTV视频同步和共享平台
49 1