iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0

說明

  • 繼前一篇的附夾檔案後,今天繼續處理 Docker Image 的優化
  • 一直還沒把 Dockerfile 和 Docker Image 釋出是因為裡面還含有 Asana Token 等東西

透過系統變數給密碼

打包容器映像檔

FROM amancevice/pandas

ENV TZ=Asia/Taipei
RUN apt-get update -y
RUN apt-get install xfonts-utils -y
RUN wget https://www.twfont.com/chinese/font/TaipeiSans.ttf
RUN cp *.ttf /usr/share/fonts/truetype && cd /usr/share/fonts/truetype
RUN mkfontscale && mkfontdir && fc-cache

WORKDIR /source_code
RUN mkdir pics libs ppt
COPY requirements.txt config.ini main.py /source_code
COPY ./libs /source_code/libs/
RUN pip install -r requirements.txt
CMD ["python", "main.py"]
  • 調整了時區
  • 下載字型並安裝
  • 製作容器映像檔時,紙包進必要的原始碼
  • 設定預設指令

運行看看

  • 預期用下列指令就會自動執行完成
docker run -it --rm -e ASANA_TOKEN="xxxxxxx" -e MAIL_SERVER="ex.xxxxx.com" -e MAIL_SENDER="xxx@xxxxx.com" -e MAIL_SENDER_SECRET="xxxxx" -e MAIL_RECEIVER="xxx@gmail.com" pptboss

https://ithelp.ithome.com.tw/upload/images/20230927/20141784I3j98T1Zvk.png

  • 前面一開始執行順利
    https://ithelp.ithome.com.tw/upload/images/20230927/20141784lIAF9jgObV.png
  • 後面跑一跑壞掉了,判斷是缺東西...投影片樣板一張甘特圖
  • 用下面指令,暫時先把缺的東西掛進去
docker run -it --rm -e ASANA_TOKEN="xxxxxxx" -e MAIL_SERVER="ex.xxxxx.com" -e MAIL_SENDER="xxx@xxxxx.com" -e MAIL_SENDER_SECRET="xxxxx" -e MAIL_RECEIVER="xxx@gmail.com" -v $(pwd)/ppt:/source_code/ppt -v $(pwd)/pics:/source_code/pics pptboss

結論

  • 踩到缺少檔案的問題,就看是要去掉程式碼,還是把他包在容器映像檔裡
    • 把樣板放到映像檔這件事情合不合理,要看公司是否允許這個樣板被公開,然後容器映像檔會不會被公開
      • 如果都不能公開的話,就要評估把投影片樣板寫在映像檔裡,誰會拿映像檔
    • 直接插入一張靜態的甘特圖是不合理的,所以應該去掉那行程式碼
    • 不過如果是要放進蓮花圖,每次都要放的話,就可以把他包進去

上一篇
Day 25 - SMTP / MIME 是什麼、將投影片夾檔送出
下一篇
Day 27 - 容器映像檔搬家、Amazon ECR 和 Docker Hub
系列文
挽救肝指數 x 職場生存術 x 老闆愛看的投影片製造機30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言