樹莓派上的 Docker - 安裝指南
Docker 已成為開發人員不可或缺的工具,使他們能夠輕鬆建立、部署和執行容器中的應用程式。雖然 Docker 通常用於桌上型電腦和伺服器,但它也可以用於樹莓派等嵌入式裝置。在本文中,我們將介紹在樹莓派上安裝 Docker 並開始使用的步驟。
硬體要求
在開始之前,讓我們看一下在樹莓派上執行 Docker 的硬體要求。Docker 可以在任何樹莓派型號上執行,但效能會因型號而異。例如,具有 4GB 或 8GB RAM 的樹莓派 4 比樹莓派 3B+ 提供更好的效能。
以下是執行 Docker 在樹莓派上的推薦硬體要求:-
樹莓派 4,配備 2GB 或更多 RAM
至少 16GB 儲存容量的 MicroSD 卡
輸出功率至少為 3A 的電源介面卡
乙太網線或 Wi-Fi 介面卡用於網路連線
在樹莓派上安裝 Docker
現在我們的硬體準備就緒,讓我們繼續在樹莓派上安裝 Docker。
步驟 1:更新和升級樹莓派
在安裝 Docker 之前,最好更新和升級樹莓派,以確保我們擁有最新的軟體和安全補丁。為此,請執行以下命令:-
sudo apt-get update sudo apt-get upgrade
步驟 2:安裝 Docker
要在樹莓派上安裝 Docker,我們需要執行以下命令:-
curl -sSL https://get.docker.com | sh
此命令將下載並安裝樹莓派上 Docker 的最新版本。
步驟 3:將使用者新增到 Docker 組
預設情況下,Docker 守護程式將以 root 使用者身份執行,這可能存在安全風險。為了避免這種情況,我們可以將我們的使用者新增到 Docker 組,這將允許我們無需 sudo 即可執行 Docker 命令。
要將當前使用者新增到 Docker 組,請執行以下命令:-
sudo usermod -aG docker $USER
步驟 4:驗證 Docker 安裝
要驗證 Docker 是否已正確安裝,我們可以執行以下命令:-
docker run hello-world
此命令將下載一個小的 Docker 映象並在該映象的基礎上執行一個容器。如果一切正常,我們應該會看到一條訊息,內容為“Hello from Docker!”。
在樹莓派上使用 Docker
現在我們在樹莓派上安裝了 Docker,我們可以開始使用它來部署和執行容器。
要執行容器,我們首先需要從 Docker 倉庫中提取映象。Docker Hub 是最受歡迎的倉庫,並且有大量我們可以使用的預構建映象。
例如,假設我們想執行一個執行簡單 Web 伺服器的容器。我們可以透過從 Docker Hub 中提取“nginx”映象並在該映象的基礎上執行容器來實現。
步驟 1:提取 Nginx 映象
要從 Docker Hub 中提取 Nginx 映象,請執行以下命令:-
docker pull nginx
此命令將從 Docker Hub 下載 Nginx 映象的最新版本。
步驟 2:執行 Nginx 容器
要基於 Nginx 映象執行容器,請執行以下命令:-
docker run -d -p 80:80 nginx
此命令將在分離模式 (-d) 下執行容器,並將容器的埠 80 對映到樹莓派的埠 80 (-p 80:80)。
我們現在可以透過開啟 Web 瀏覽器並導航到樹莓派的 IP 地址來訪問 Nginx Web 伺服器。如果您不確定 IP 地址是什麼,可以使用以下命令查詢:-
hostname -I
這將輸出樹莓派的 IP 地址,然後您可以使用它來訪問 Nginx Web 伺服器。
步驟 3:建立 Dockerfile
雖然從預構建映象執行容器很方便,但並非總是可以找到滿足您特定需求的映象。在這種情況下,您可以透過建立 Dockerfile 來建立自己的 Docker 映象。
Dockerfile 是一個文字檔案,其中包含用於構建 Docker 映象的一組指令。您可以使用 Dockerfile 來指定基礎映象、將檔案和目錄新增到映象、設定環境變數等等。
這是一個基於 Alpine Linux 最新版本並安裝 Nginx 的 Dockerfile 示例:-
FROM alpine:latest RUN apk update && apk add nginx && mkdir -p /run/nginx COPY index.html /usr/share/nginx/html/ EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
讓我們分解 Dockerfile 的每一行:-
FROM alpine:latest 指定要使用哪個基礎映象,在本例中是 Alpine Linux 的最新版本。
RUN apk update && apk add nginx && mkdir -p /run/nginx 按順序執行三個命令:-
apk update 更新包管理器和包列表。
apk add nginx 安裝 Nginx Web 伺服器。
mkdir -p /run/nginx 建立一個目錄供 Nginx 儲存執行時資料。
COPY index.html /usr/share/nginx/html/ 將 index.html 檔案複製到 Docker 映象中的 /usr/share/nginx/html/ 目錄。
EXPOSE 80 指定應將埠 80 公開到主機。
CMD ["nginx", "-g", "daemon off;"] 指定容器啟動時要執行的命令,在本例中是啟動 Nginx Web 伺服器並在前臺執行它。
步驟 4:構建 Docker 映象
要從 Dockerfile 構建 Docker 映象,請導航到包含 Dockerfile 的目錄並執行以下命令:-
docker build -t my-nginx-image .
此命令將構建一個標記為 my-nginx-image 的映象,並使用當前目錄作為構建上下文。命令末尾的句點指定構建上下文。
構建過程可能需要一些時間,具體取決於基礎映象的大小和 Dockerfile 的複雜程度。
步驟 5:執行自定義 Docker 映象
構建 Docker 映象後,您可以使用以下命令基於該映象執行容器:-
docker run -d -p 80:80 my-nginx-image
此命令將在分離模式 (-d) 下執行容器,並將容器的埠 80 對映到樹莓派的埠 80 (-p 80:80)。
您現在可以透過開啟 Web 瀏覽器並導航到樹莓派的 IP 地址來訪問 Nginx Web 伺服器,就像您在步驟 2 中所做的那樣。
步驟 6:清理
要停止並刪除容器,請執行以下命令:-
docker stop CONTAINER_ID && docker rm CONTAINER_ID
將 CONTAINER_ID 替換為您要停止和刪除的容器的 ID。您可以使用 docker ps 命令檢視正在執行的容器及其 ID 列表。
要刪除 Docker 映象,請執行以下命令:-
docker rmi my-nginx-image
將 my-nginx-image 替換為您要刪除的 Docker 映象的標籤。您可以使用 docker images 命令檢視 Docker 映象及其標籤列表。
結論
Docker 提供了一種方便而有效的方式來打包、分發和執行軟體應用程式,尤其是在使用樹莓派等資源受限的裝置時非常有用。在本指南中,我們向您展示瞭如何在樹莓派上安裝 Docker 並執行第一個容器。
使用 Docker,您可以輕鬆部署和管理各種應用程式,從 Web 伺服器到資料庫等等,所有這些都位於容器化環境中。這使得管理依賴項、避免衝突和確保不同環境之間的一致性變得容易。
除了基本的安裝步驟外,我們還介紹了一些在樹莓派上使用 Docker 的最佳實踐,包括最佳化容器效能和管理容器日誌。
當您繼續在樹莓派或其他裝置上使用 Docker 時,請記住這些最佳實踐,以確保您的容器安全、可靠且效能良好。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP