Docker 是一個開源的應用容器引擎,可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口,容器性能開銷極低。這對樹莓派非常有用,本教程將介紹 Docker 這個工具以及如何在 Raspbian 上安裝 Docker。
Docker 的應用場景
Web 應用的自動化打包和發布。
自動化測試和持續集成、發布。
在服務型環境中部署和調整數據庫或其他的后台應用。
從頭編譯或者擴展現有的 OpenShift 或 Cloud Foundry 平台來搭建自己的 PaaS 環境。
Docker 的優點
Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,便可以實現虛擬化。方便快捷已經是 Docker 的最大優勢,過去需要用數天乃至數周的任務,在Docker容器的處理下,只需要數秒就能完成。Docker 可以簡化部署多種應用實例工作。比如 Web 應用、后台應用、數據庫應用、大數據應用比如 Hadoop 集群、消息隊列等等都可以打包成一個鏡像部署。
這里介紹兩種安裝 Docker 的方法,最簡單的是直接從 get.docker.com 下載安裝腳本並開始安裝。僅需執行下面一行命令即可。經測試,樹莓派3B、3A+、3B+ 均可支持 Docker,樹莓派 Zero 雖然可以安裝成功,但無法啟動 Docker 服務。
安裝方法一(腳本安裝)
腳本安裝是最推薦的方式,只需要輸入下面的命令,等待自動安裝好即可。
1
|
sudo
curl -sSL https:
//get
.docker.com | sh
|
如果采用這一步安裝成功,可直接跳到下文的圖形界面安裝那里繼續閱讀。
安裝方法二(apt 安裝)
由於 Raspbian 基於 Debian,我們還可以使用 apt 來安裝 Docker,首先需要更新一下軟件包的索引。
1
|
sudo
apt-get update
|
安裝 HTTPS 所依賴的包
1
2
3
|
sudo
apt-get
install
apt-transport-https \
ca-certificates \
software-properties-common
|
添加 Docker 的 GPG key
1
|
curl -fsSL https:
//yum
.dockerproject.org
/gpg
|
sudo
apt-key add -
|
驗證 key id:
1
|
apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D
|
設置穩定的 repository:
1
2
3
4
|
sudo
add-apt-repository \
"deb https:
//apt
.dockerproject.org
/repo/
\
raspbian-$(lsb_release -cs) \
main"
|
注意:如果 add-apt-repository 命令遇到問題,可以嘗試將下面這行添加到樹莓派軟件源 sources.list,操作如下:
1
|
sudo
nano
/etc/apt/sources
.list
|
添加一行:
deb https://apt.dockerproject.org/repo/ raspbian-RELEASE main
根據自己系統版本調整上面的 RELEASE。通過下面的命令可以查看發行版。
1
|
lsb_release -cs
|
安裝 Docker
1
2
|
sudo
apt-get update
sudo
apt-get -y
install
docker-engine
|
測試 Docker
運行 hello-world 鏡像來做一個測試。
1
|
sudo
docker run hello-world
|
如果 Docker 安裝成功,你會看到一條消息:“Hello from Docker!”。
常用配置和工具命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#查看 Docker 版本
docker -
v
sudo
docker pull 倉庫/鏡像:版本(留空的話默認為 latest)
sudo
docker run 加參數,用來創建容器
#查看運行容器
sudo
docker
ps
#查看所有下載的鏡像
sudo
docker images
#進入容器終端
sudo
docker
exec
-i -t ha
/bin/bash
#實時查看10行的 ha 日志
sudo
docker logs -f -t --
tail
10 ha
#重啟 systemctl 守護進程
sudo
systemctl daemon-reload
#設置 Docker 開機啟動
sudo
systemctl
enable
docker
#開啟 Docker 服務
sudo
systemctl start docker
#下載 Docker 圖形化界面 portainer
sudo
docker pull portainer
/portainer
#創建 portainer 容器
sudo
docker volume create portainer_data
#運行 portainer
sudo
docker run -d -p 9000:9000 --name portainer --restart always -
v
/var/run/docker
.sock:
/var/run/docker
.sock -
v
portainer_data:
/data
portainer
/portainer
|
在圖形化界面中操作更加便利。運行之后在瀏覽器中輸入樹莓派IP:9000 進入界面。
首次訪問需要設定登錄密碼。
對於樹莓派上的應用,選擇 Local 就好。
在控制台可以看到 Docker 的各種資源信息。
相關鏈接
Docker 官網:http://www.docker.com
Github Docker 源碼:https://github.com/docker/docker
Docker 商店:https://store.docker.com
Docker 文檔:https://docs.docker.com
出處:https://shumeipai.nxez.com/2019/05/20/how-to-install-docker-on-your-raspberry-pi.html