在云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
目录
相关文章
|
21天前
|
弹性计算 监控 负载均衡
|
19天前
|
存储 Linux Docker
docker在欧拉服务器上编译安装应该注意什么?如何操作?
【10月更文挑战第31天】docker在欧拉服务器上编译安装应该注意什么?如何操作?
48 2
|
14天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
81 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
15天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
25天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
85 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
15天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
15天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
33 1
|
22天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
27天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
56 2
|
28天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
34 3
下一篇
无影云桌面