:::

如何使用Docker APP? / How to Use Docker APP?

1月 29, 2024 , , 0 Comments Edit Copy Download

2024-0119-235133.png

你可以在線上透過Colab使用Docker APP,也可以在本機端使用Docker APP喔。


什麼是Docker APP? / What is Docker APP

https://github.com/pulipulichen/docker-app-PDF-to-Crop-SVG

https://github.com/pulipulichen/docker-app-PDF-to-Crop-SVG

Docker APP是我以Docker容器虛擬化技術包裝建立的跨平臺工具種類。Docker APP通常用於檔案格式的轉換或是資料分析上。如果我在工作時需要對檔案執行一連串的資料處理動作,通常我就會把它做成Docker APP,下次就能一口氣自動地轉換與分析,並直接產生處理後的結果。

舉例來說,「docker-app-PDF-to-Crop-SVG」就是將PDF檔案轉換成SVG、裁邊、再轉換成EMF跟PNG的格式。有些Docker APP還能直接用來架站,例如「docker-web-apache-solr」就能直接架設Apache Solr全文檢索引擎,並且直接用Cloudflare建立臨時的公開網址。

2024-0119-233013.png

在我的GitHub裡搜尋「docker-app」即可找到更多Docker APP。網址如下:

https://github.com/pulipulichen?tab=repositories&q=docker-app&type=&language=&sort=

Docker APP並不是單純的腳本檔,而是將所有會用到的環境、軟體都包含到Docker映像檔的工具。因此Docker APP可以在能夠安裝Docker環境的本機端上執行,包括了Linux、Windows、Mac OS等電腦環境。此外,Docker APP也能夠在Google提供的Colab平臺上執行。在Colab執行Docker APP時只需要瀏覽器,不用另外安裝Docker環境,因此即使是手機或平板電腦也可以透過Colab執行Docker APP。

接下來我們就來看看怎麽使用Docker APP吧。


在Colab使用Docker APP / Use Docker APP in Colab

2024-0119-223354.png

通常我會在Docker APP的README.md裡面註明Colab的網址。舉例來說,「docker-app-PDF-to-Crop-SVG」的Colab網址如下:

2024-0119-223704.png

https://colab.research.google.com/drive/1QCoI7jq8OPvIoNfBItxD6w_gW7ab3jAT?usp=sharing

接著我們就以「docker-app-PDF-to-Crop-SVG」的Colab作為例子,說明如何在Colab上使用Docker APP。

Step 1. 登入 / Login

2024-0119-223818.png

如果你還沒登入的話,第一件事情是登入你的帳號。使用免費的Google帳號即可。

如果已經登入的話,就直接進入下一步吧。

Step 2. 上傳檔案 / Upload file

我們的範例檔案是「派架導航員」的系統架構圖PDF檔案。你可以在下面的連結取得PDF檔案的備份:

接著進行以下操作:

2024-0119-224034.png

  1. 開啟「Files」。
  2. 按下「Upload to session storage」。

2024-0119-224141.png

選擇欲處理的檔案。

2024-0119-224213.png

此時Colab會跳出「Warning」警告。這個意思是上傳的檔案會在Colab的執行機器關機後刪除,提醒你要保留檔案。按下「OK」即可。這個警告只會第一次上傳的時候出現。

2024-0119-224332.png

確認檔案已經上傳到Files裡面,就算是完成了。

當然,你也可以用拖曳檔案的方式,從另一個視窗將檔案拖到Colab來上傳。但是要小心,不要傳到「sample_data」裡面了。

Step 3. 執行 / Run

2024-0119-224431.png

接著進行以下操作:

  1. 在導覽列進入「Runtime」。
  2. 按下「Run all」。

你也可以按「Ctrl + F9」快速鍵來執行。

2024-0119-224532.png

此時可以看到下方的資訊列出現了「Executing」的字樣,表示Docker APP正在執行中。第一次執行會花比較久的時間。

Step 4. 取得結果 / Get Output

2024-0119-224741.png

注意一下地方:

  1. 當資訊列出現「completed at」的訊息時,表示Docker APP已經執行完成。
  2. Files裡面新增了「output」資料夾。

2024-0119-224841.png

如果有看到資訊列的「completed at」訊息,卻看不到「output」資料夾的話,可以按「Refresh」按鈕讓檔案狀態重新整理一下。

2024-0119-224945.png

點選「output」資料夾可以檢視裡面的檔案。

2024-0119-225013.png

在需要的檔案上按右鍵或旁邊的「...」即可出現選單,按「Download」就能下載檔案。

Step 5. 處理另一個檔案 / Change another file

2024-0119-225209.png

如果你要處理另一個檔案的話,你可以直接上傳另一個需要處理的檔案。但如果你不想要Docker APP處理的結果混在一起,那麼也可以先先移除掉既有的檔案。做法如下:

  1. 在之前的檔案上按右鍵,出現選單。
  2. 選擇「Delete file」

2024-0119-225334.png

出現警告訊息,按「OK」確認。

2024-0119-225517.png

確認檔案已經刪除了。

2024-0119-225734.png

接下來你就可以回去以Step 2到Step 4的步驟重新操作,並取得另一個檔案的處理結果。


如何在本機端使用Docker APP? / How to use Docker APP in local computer?

除了在Colab使用Docker APP之外,你也可以在本機端使用Docker APP。再處理較大的檔案時,可以省下跟Colab之間上傳與下載檔案的時間。如果你的電腦等級不錯的話,執行Docker APP的速度也會比Colab還要快。

Peek_2024-01-19_23-44.gif

一旦設定完成,Docker APP就能直接跟作業系統整合在一起。你可以直接用Docker APP開啟檔案,然後轉換後的檔案就會出現在旁邊了。

注意事項 / Warning

要在本機端執行Docker APP的門檻不低,常常有很多限制。目前我的Docker APP主要是針對x86核心的Linux桌上型電腦開發,我大多時候也只確認它能在Linux和Colab上能夠運作。Windows或Mac OS可能運作起來會有些問題。如果你電腦的CPU不是使用x86架構,那可能會遭遇更多問題。不過還好Mac OS上有轉換套件可供使用,目前執行下來大致上都沒什麼問題。

在本機執行Docker APP的另一個問題是Docker APP非常佔檔案空間。因為Docker容器技術是將所有要用到的工具都封裝在特定檔案中,而這些檔案又得在你的電腦執行。以「docker-app-PDF-to-Crop-SVG」為例,映像檔本身即佔據了435.29 MB的檔案大小。部分更複雜的Docker APP甚至可能會佔用到1GB以上。

如果你的電腦等級或空間不夠的話,建議先嘗試在Colab上執行Docker APP即可。

取得Docker APP執行檔案 / Get Script or Executable File

2024-0119-230403.png

如果要在本機端執行Docker APP的話,通常我會在Docker APP的README.md裡面註明Windows、Linux跟Mac OS執行檔案的下載網址。以「docker-app-PDF-to-Crop-SVG」為例子來說,它們的執行檔案下載網址如下:

接下來要依照作業系統的不同,而有不同的處理方法。


在Linux作業系統執行Docker APP的執行檔案 / Run Docker APP in Linux

下載檔案 / Script

2024-0119-230739.png

Linux使用者需要下載的是「.sh」結尾的腳本檔案。

Docker APP執行環境 / Environment

在執行之前,Linux使用者需先確保電腦上已經安裝了以下套件:

上述套件只需要確認已經安裝即可。

Docker APP權限設定 / Permission setup

接著需要為腳本檔案增加執行權限。你可以打開終端機,用「cd」移動到腳本檔案所在的資料夾,並執行「chmod +x *.sh」的指令。詳情做法請參考「How to Make a Bash Script File Executable in Linux」。

上述動作是每次使用不同的Docker APP都要設定一次。

執行Docker APP / Run Docker APP

接著你就可以用該腳本檔案開啟你要處理的檔案。或著是你也可以直接開啟腳本檔案,並在檔案選取對話視窗中,選擇你要處理的檔案即可。


在Mac OS作業系統執行Docker APP的執行檔案 / Run Docker APP in Mac OS

下載檔案 / Script

Mac OS使用者需要下載的也是「.sh」結尾的腳本檔案。

Docker APP執行環境 / Environment

在執行之前,Mac OS使用者需先確保電腦上已經安裝了以下套件:

Mac OS使用者如果使用的是M1、M2等ARM架構的晶片,則需要另外安裝轉換套件。執行指令是「softwareupdate --install-rosetta」。詳細做法請參考How to install Rosetta的說明。

上述套件及設定只需要操作一次即可。

Docker APP權限設定 / Permission setup

2024-0119-231915.png

圖片來源:https://techwiser.com/run-shell-script-mac/ 

接著需要為腳本檔案增加執行權限。你可以打開終端機(Terminal),用「cd」移動到腳本檔案所在的資料夾,並執行「chmod +x *.sh」的指令。詳情做法請參考「How to Run Shell Script on Mac」。

上述動作是每次使用不同的Docker APP都要設定一次。

執行Docker APP / Run Docker APP

接著你就可以用該腳本檔案開啟你要處理的檔案。或著是你也可以直接開啟腳本檔案,並在檔案選取對話視窗中,選擇你要處理的檔案即可。


在Windows作業系統執行Docker APP的執行檔案 / Run Docker APP in Windows

下載檔案 / Executable File

2024-0119-232011.png

圖片來源:https://commons.wikimedia.org/wiki/File:Autoit-icon.png 

Windows使用者需要下載的是「.exe」結尾的執行檔案。

Docker APP執行環境 / Environment

在執行之前,Windows使用者需先確保電腦上已經安裝了以下套件:

在Windows安裝Docker Desktop需要額外開啟WSL2的功能,步驟較複雜,請參考「在Windows上安装Docker桌面」的說明。 

上述套件及設定只需要操作一次即可。

避免Docker APP被防毒軟體刪除 / Add Docker App to antivirus software's exclusions

這個exe執行檔案會被防毒軟體視為不明來源的病毒。請你手動將該exe執行檔案加入到防毒軟體的排除清單中。ClarieC介紹了如何將exe執行檔案加入到Windows Defender的排除項目裡,詳情請看「特定應用軟體或文件夾常被 Windows Defender 誤判?教你如何設定排除」。

上述動作是每次使用不同的Docker APP都要設定一次。

執行Docker APP / Run Docker APP

接著你就可以用該執行檔案開啟你要處理的檔案。或著是你也可以直接開啟執行檔案,並在檔案選取對話視窗中,選擇你要處理的檔案即可。


Docker APP的介紹就到這裡為止了。文章最後要來問的是:你通常是怎麽執行應用程式的呢?

1. 我都開啟電腦上預先安裝好的程式。

2. 我會下載並安裝其他程式來執行。

3. 我喜歡不用安裝的綠色軟體或可攜程式。

4. 工程師都寫腳本檔啦,不喜歡用滑鼠點來點去的。

5. 其他:下面留言分享喔!