DevOps課程-Jenkins 14

AWS Services課程建立EC2 instance(redhat Linux Base)來做Jenkins被佈署機台(前置)

ZONGRU Li
Feb 2, 2022

這邊首次嘗試使用Redhat Linux,使用yum指令安裝軟體(docker)

在啟動執行個體頁面上:

選擇特規的AWS OS image:

新增防火牆group設置:

對我本機電腦開放ssh的22 PORT

預覽建立機台的規格內容:

上面這張圖關乎到連線,前面k8s課程已經有相關筆記了

後面連線不再重複筆記

沒多久狀態檢查完成後就可以連線了(連線方式不再重複撰寫)

簡單執行一些指令查看機台狀況:

#確認登入身分:
whoami
#確認OS版本(先找ls /etc/*release):
cat /etc/os-release
#查看記憶體大小:
free
#查看cpu:
lscpu

接著更改host名稱

#先調整host檔設定:
sudo vi /etc/hosts
設好後儲存!
#修改連線顯示的名稱:
sudo hostnamectl set-hostname {指定的名稱,這邊就用docker}
執行後要重登才生效
#更新可安裝的套件(基本上Amazon Linux 2由此可判斷應該是redhat Linux的分支):
sudo yum update
#執行安裝docker:
sudo yum install docker
#簡單確認docker版本:
docker --version
#啟動docker服務的Daemon:
sudo service docker start
#確認docker服務狀態:
systemctl status docker

為了讓登入的ec2-user身分可以直接執行docker指令,前面不用帶sudo

這邊先將ec2-user加入docker的group

#將當前身分加入群組名docker內:
sudo usermod -aG docker $USER
#確認當前身分的groups:
groups

重登在看一次groups:

有了!
#嘗試執行docker指令,起一個redis伺服器(此時就不需要sudo):
docker run redis
ctrl+c離開,確認會起就好了

後面要嘗試在這台EC2的實例去跑docker-hub上我私人的image容器

所以首先要執行docker登入(後面才能從我私人的hub內拿到image)

#執行docker登入:
docker login
(過程要打帳密)
#若是要登入其他的hub,則要提供位置與PORT:
docker login {host位置}:{PORT}
#登入完成後會有登入相關的檔案存在home目錄下:
ls $HOME/.docker/config.json

也就是當完成登入動作,一些docker指令會指向該docker hub

接著嘗試拉看看docker hub上私有庫的image:

#拉自己的image:
docker pull javapig/demo-app:jma-2.0

確認:

#嘗試執行看看上述拉到的image,並且驗證:
docker run -d -p 8083:8080 javapig/demo-app:jma-2.0
#用curl驗證打到http GET->http://localhost:8083/hellopig2
curl -v http://localhost:8083/hellopig2
#然後關掉container:
docker stop {container id}

若還要驗證可以被外面打進去,則記得還要打開防火牆設置!

參考課程reference

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet