【華為云服務之】在華為云ECS上使用Docker部署pgAdmin4
前兩篇文章介紹了ECS的安裝以及在ECS上安裝DOCKER(參見:【華為云服務之】在華為云ECS上安裝Docker和華為云入門】之教你創(chuàng)建華為云彈性云服務器ECS)。
由于參加阿里云pgAdmin4共創(chuàng)任務(不好意思,賣個單,本人是雙MVP),剛好發(fā)現(xiàn)pgAdmin居然提供了Docker版本,心想便于交流自己的成果,就將它部署到我的ECS上吧。在整個過程也是對于Docker的學習加深了一些,以此分享。
首先,獲取docker版的pgadmin4。使用命令:
docker?pull?dpage/pgadmin4
最開始我沒有看官網(wǎng)就安裝了,是使用docker搜索的,然后安裝Starts最多的,結果發(fā)現(xiàn)是官網(wǎng)提供的就是Starts最多的了。搜索命令如下:
docker?search?pgadmin4
搜索到docker后,以名字獲取。就是第一條命令了。
根據(jù)官方文檔介紹,需要一些環(huán)境變量,針對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使用的參數(shù):
p:端口映射,冒號前面是主機的端口,后面是容器中的端口。上例中是將容器的80端口映射到主機的80端口。
e:設置環(huán)境變量。
d:在后臺運行容器,并打印出容器的ID(只有以d參數(shù)運行后,才支持使用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中。命令如下:
[putty?install?dir]\pscp?[localfile]?[username]@[ip]:[path]
將方括號[]中的值替換為實際值即可完成向遠程拷貝文件。同時,如果將遠程文件拷貝到本地,則將pscp后面的兩個參數(shù)調換位置即可。
支持目錄傳輸?shù)氖莗sftp命令。我沒有使用。所以如果你要使用自己查看參數(shù),--help即可查看參數(shù)。
下一步操作是要將修改后的文件替換到docker中。
docker窗口已經(jīng)啟動,確認docker中的目錄結果,運行如下命令:
docker?exec?-it?12xxxxx?/bin/sh
上面命令是在ID為12xxxxx的容器中執(zhí)行/bin/sh命令。其中參數(shù)
i:代表在沒有附加到容器時也使用STDIN輸出信息。
t:分配一個虛擬的TTY。
拷貝文件到容器中,執(zhí)行如下命令:
docker?cp?[localfile]?12xxxxx:[path]
上面是將主機文件拷貝到窗口中,如果需要重命名在[path]中指定目標文件名即可,不重命名只指定目錄即可。替換上面的方括號中參數(shù)為具體值即可完成容器和主機間文件的傳輸。
拷貝完文件為了使用新文件生效,可以使用下列命令重啟容器:
docker?restart?12xxxxx
注意:容器ID是一個很長的字符串,我們只要輸入前幾位能唯一標識出容器即可。
下圖是我部署后的pgAdmin4的運行效果:
Docker 彈性云服務器 ECS
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。