iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0

說明

  • 前兩篇示範如何使用別人做好的容器映像檔
  • 因為這支程式,預計每週都會執行一次,希望設定好之後就可以定期執行
  • 每次都跑安裝流程,可能會有幾個問題
    • 安裝很花時間,希望執行容器越快越好的話,就要先裝好環境包成映像
    • 走網路安裝的東西,以後可能會失效,所以應先保持環境完整

作法

  • 寫個 Dockerfile 檔
    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
    ADD . /source_code/
    RUN pip install -r requirements.txt
    
    CMD ["python", "main.py"]
    
  • 生成 docker image
    docker build -t pptboss . --no-cache
    
    https://ithelp.ithome.com.tw/upload/images/20230923/20141784nGykcaeHrW.png
  • 包好之後試用看看
    • 把當前目錄的 ppt 掛進容器的對應目錄,其他不做修改
    • 預期容器將被喚醒,生成投影片後便結束,我則會在容器結束後在 ppt 下看到今天日期的投影片
      https://ithelp.ithome.com.tw/upload/images/20230923/20141784xf9mTX8BVn.png
    docker run -it --rm -v $(pwd)/ppt:/source_code/ppt pptboss
    
    • 之後執行時可以不用 -it 這個參數
  • 檢查生出的檔案,今天是 9 月 23 日,成功
    https://ithelp.ithome.com.tw/upload/images/20230923/20141784PjYv70Otgr.png

其他問題

  • 今天的作法,把機敏資訊包進映像檔,要小心映像檔外流時,Asana 的登入令牌會被別人拿走
  • 需要使用掛載的方式把產生的投影片檔案接出來,之後要改成容器產完投影片,用網路拋出來

上一篇
Day 21 - 處理容器環境中的字型問題
下一篇
Day 23 - 避免打包機敏資訊、在容器內使用系統變數
系列文
挽救肝指數 x 職場生存術 x 老闆愛看的投影片製造機30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言