Docker 踩坑紀錄 - 運行階段 Bind Mount 覆蓋 WORKDIR 的內容

我踩到了什麼坑 本文的背景延續自我之前的文章《一個專案需要多個 Dockerfile - 淺談建構上下文 (build context)》 因為我們目前經手的專案會需要針對不同環境或是測試 Build 不同的 Image,為了讓目錄架構更具組織性且容易理解,我們根據不同的環境把各個環境的 Dockerfile, docker-compose.yaml, .sh 等等放在各個環境的目錄下,現在的目錄架構大概像這樣 ↓: E2Eproject/ ├── testenvironment1/ │ └── Dockerfile ├── testenvironment2/ │ ├── docker-compose.yaml │ └── Dockerfile ├── start-headless-tests.sh └── requirements.txt 由於我正在本地 Debug 這個專案,需要在本地運行 Docker-compose,我便很自然的執行 docker-compose -f ./cicd/headless/docker-compose.yaml up,結果 Docker 容器運行起來時,遇了一個錯誤:/bin/bash: /usr/src/app/cicd/headless/start-headless-tests.sh: No such file or directory。 這個錯誤讓我想也想不透哪邊出錯,我一開始都是針對 Dockerfile 去做動作,但完全沒有用 這邊就附上當時錯誤發生時的 Dockerfile 和 docker-compose.yaml,大家可以試著猜猜看是哪個環節導致錯誤! E2Eproject/cicd/headless/Dockerfile ↓ # Dockerfile # Use the official Python base image from the DockerHub....

January 28, 2024 · 3 min

如何成為 AWS Educate 雲端大使?履歷準備、面試技巧大公開

報名流程 履歷及申請動機 本篇文章主要以「技術支援」這個角度來探討履歷準備的方向,當然!這當中肯定有很多方向也是其他職能也可以拿來參考用的。即便您第一志願不是「技術支援」職能,我仍然建議你繼續讀完! 先來了解 Technical Support (技術支援)這個角色會做哪些事 技術工作坊上台演講並教學雲端技術 提供組內雲端技術的諮詢和建議 撰寫工作坊所需的技術教學文件及應用 履歷準備方向 了解技術支援這個角色會做哪些事,盡可能地在撰寫履歷時,使內容可以讓面試官覺得你很適合這個角色 教學技術的經驗 上台演講的經驗 技術專案的經驗 有使用到 AWS 尤佳 內容可以和 Amazon 領導力準則掛勾 展現你在技術上的所專精的專業領域,例如: AI Data Analysis DevOps … 展現你的 Leadership 和 Ownership 量化你的成果 雲端技術證照 履歷常見錯誤 ❌ 履歷的大頭照可放可不放,但仍建議不要放,部分職位、傳統台商或特別要求則例外,原因如下: 避免因種族、膚色、人種… 產生任何 Bias 篇幅過長,超過兩頁 技術方面寫的過多過雜、許多不必要的雜訊,例如: 您有提到您會 Flask, Django,那就不必列出你會 Python 把有碰過的技術都寫上去,例如: 僅用過 Java 印出過 “Hello World” 就在「技能」區塊寫 Java 把專精的技術寫上去就好,怎樣算是專精呢?只要您對於這個技術有信心給面試官隨便問 5 個 Why 你都有信心可以回答就寫上來 未量化你的各經歷的成果,例如: 你曾舉辦過技術工作坊,但你僅僅寫了你任期內舉辦了工作坊 更好的寫法是,你可以告訴我們你舉辦了幾人的 XXX 技術工作坊,觀眾對於您的講評評價高達 4.8/5 分 把自己描述成跨領域通才了,你應要把自己描述成一個專精 XX 技術領域的跨領域人才,例如: 因履歷投遞的職能是「技術支援」,你應該要讓自己成為一個「專精 XX 技術領域的雲端人才,同時附帶了活動規劃的跨領域優勢」 而非把自己寫的什麼都很會,讓人摸不清你到底是來投技術職能還是來投活動規畫職能,又或者讓人覺得你是一個通才 把其他人的貢獻寫在自己的履歷,例如: 你參與了某專案你僅負責後端開發,前端開發部分並非你做的,然而你卻在專案中的經歷寫到你使用了前端的 XXX 技術做了 XXX 功能 申請動機準備方向 申請動機這一塊就有比較多自由發揮的空間 以下就給出兩點簡單的小建議:...

January 28, 2024 · 1 min

一個專案需要多個 Dockerfile - 淺談建構上下文 (build context)

最近在寫 E2E 測試遇到一個問題,因 E2E 專案中,除了專案本身的 Docker Image 需要 Build 之外,還有多個測試環境的 Image 也要 Build,這造成了我在這個專案上需要創建多個 Dockerfile 發生了什麼問題? 我一開始的錯誤處理方式 菜鳥時期的我,以為 Dockerfile 就是一定得命名為"Dockerfile",這導致了我沒辦法在專案根目錄下創建三個 Dockerfile,因為會導致命名衝突 那我想出了什麼處理方式?相當簡單,很菜的我,一開始便自然地根據不同環境在專案下創建了不同的目錄,然後在目錄底下存放各自的 Dockerfile 就很類似這種感覺: E2Eproject/ ├── testenvironment1/ │ └── Dockerfile ├── testenvironment2/ │ └── Dockerfile ├── requirements.txt └── Dockerfile 接著便接著發生下一個問題 — 錯誤的建構上下文 以其中一個測試環境內的 Dockerfile 為範例,當時我的寫法如下,請特別注意 COPY ../../ /usr/src/app/ 這行 # Use the official Python base image from the DockerHub. FROM python:3.12 # Set the working directory within the container. WORKDIR /usr/src/app # Set the PYTHONPATH environment variable....

January 20, 2024 · 3 min

這個網站的第一篇文章 - 關於我 以及架站的動機

大家好我是 Shiun,這篇是我的個人網站的第一篇文章,會記錄我的動機以及現在的時空背景,以此來記錄一下自己的個人成長,未來回頭來看看自己成長多少 架設網站的動機 動機與原因 會想要架設個人網站主要有以下原因: 想要記錄自己的個人成長,以及隨手筆記 受到 Nic 的啟發 (Youtube連結),覺得對於未來職涯的道路上會有所幫助,能夠建立個人品牌,彰顯專業 自己本身就很熱愛分享知識、技術,而且很享受上台演講的氛圍 看起來很帥 2024 年 1 月,下定決心 一直以來都想架一個自己的個人網站,但遲遲一直沒有下手,絕大部分是因為懶 XD,而我一直以來都會把自己的想法紀錄在 Google Keep 或是 Dropbox Paper 直到 2024/01 下定決心今年的新希望(目標)一定要架好個人網站,開始寫文章,而且我今年(2024)也準備要畢業了,即將面對職場,這時候再不趕快產出有質量的內容就太虧了 關於我 Hi 我是 Shiun,家裡有兩隻貓(娜娜 & 妮妮😺😺) 我目前就讀於某私立大學的資管系(2024 畢業),同時也就職於: AWS Educate 5th Cloud Ambassador - Technical Support @AWS Backend Engineer Intern @eGroupAI 在 2024 年 3 月要接任: AWS Educate 6th Cloud Ambassador Team Lead (技術) @AWS Cloud Engineer Intern @eCloudValley 主要專精於後端與雲端及 DevOps 方面的技術: Spring boot Jenkins AWS Docker Selenium Pytest 除此之外,我也很擅長擔任領導者的角色,在求學職涯中,我幾乎都是擔任領導者的職位,像是在大學畢業專題中我也擔任了組長、PM、Product Owner、Backend Development,在畢業專題(作品連結)中上實踐了敏捷式開發(Scrum, Kanban)

January 19, 2024 · 1 min