因?yàn)?a href="/news/6040.html">樹莓派是arm架構(gòu)的,所以docker的安裝和使用也都有不同。需要講的內(nèi)容比較多,這里單挑出來。
樹莓派是基于arm架構(gòu)的,和pc不同。所以即使樹莓派上能做一些docker鏡像,也不能在別的pc上運(yùn)行。反過來別的pc上的docker鏡像,也不能在樹莓派上運(yùn)行。
如果需要找樹莓派專用的鏡像,那就在dockerhub
上搜索arm
或rpi
相關(guān)就能找到了。
有一個(gè)叫hypriot
的倉庫制作了非常多樹莓派專用docker,可以參考下。
樹莓派參考:get docker ce for debian
參考:my home server powered by pi and docker
樹莓派安裝docker,最難的在于正確的選擇源和添加gpg-key,才能找到版本適合的docker并下載。這個(gè)過程是非常繁瑣且很難有統(tǒng)一方案的。
官方版一鍵安裝腳本
注意:官方的一鍵安裝腳本很多人說不再支持了。但是目前位置,其實(shí)還是能支持的。
參考:the easy way to set up docker on a raspberry pi
開始執(zhí)行之前,先說明:我之前很多次都不成功,找了很多相關(guān)解決方案都不行。直到。。。
直到我先sudo apt-get update
并且最最最重要的是sudo apt-get upgrade
,之后才行。
其實(shí)在upgrade時(shí)候就能看到,更新了很多系統(tǒng)依賴包,這也就解決了之前docker安裝不成功的一切毛病了。
upgrade完成后,就開始正式安裝了:
需要用到一個(gè)shell腳本,get.docker.com
,整個(gè)網(wǎng)站就這一個(gè)腳本。下載并執(zhí)行:
1
|
$ curl -fssl get.docker.com -o get-docker.sh && sh get-docker.sh |
完成后,會(huì)顯示:
然后運(yùn)行hello world試試:
1
|
$ sudo docker run hello-world |
然后顯示:
手動(dòng)安裝
準(zhǔn)備工作:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#安裝ssl相關(guān),讓apt通過https下載: sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common # 添加docker的gpg key curl -fssl https: //download .docker.com /linux/debian/gpg | sudo apt-key add - #檢查key是否相符(9dc8 5822 9fc7 dd38 854a e2d8 8d81 803c 0ebf cd88) sudo apt-key fingerprint 0ebfcd88 #添加docker的apt下載源 sudo echo "\ndeb-src [arch=amd64] https://download.docker.com/linux/debian wheezy stable\n" >> /etc/apt/sources .list #更新源 sudo apt-get update |
安裝docker:
1
|
$ sudo apt-get install docker-ce |
無需sudo執(zhí)行docker
為了每次執(zhí)行docker
不需要總是輸入sudo
,我們需要為docker創(chuàng)建一個(gè)用戶組,并授予權(quán)限才行:
1
2
3
4
5
6
7
8
|
# 創(chuàng)建docker用戶組 sudo groupadd docker # 把當(dāng)前用戶加入到docker用戶組 sudo gpasswd -a $user docker # 更新當(dāng)前用戶組變動(dòng)(就不用退出并重新登錄了) newgrp docker |
安裝docker-compose
可以通過把docker compose
當(dāng)作一個(gè)docker的container下載并運(yùn)行:
1
2
3
4
5
6
7
8
9
10
11
12
|
docker run \ - v /var/run/docker .sock: /var/run/docker .sock \ - v "$pwd:/rootfs/$pwd" \ -w= "/rootfs/$pwd" \ docker /compose :1.13.0 up # 設(shè)置alias快捷鍵(`~/.zshrc`或`~/.bash_profile`) alias docker-compose= "'" 'docker run \ - v /var/run/docker .sock: /var/run/docker .sock \ - v "$pwd:/rootfs/$pwd" \ -w= "/rootfs/$pwd" \ docker /compose :1.13.0 '"' " |
常見錯(cuò)誤問題
python: no module name lsb_release
先檢查本機(jī)是否已經(jīng)安裝了lsb_release
,或者重新安裝一遍:
1
|
$ sudo apt-get install lsb-release |
如果還是這個(gè)問題,那么就檢查python版本。如果是python3,那么很可能是版本不夠,因?yàn)閘sb_release需要最少python3.5。
解決這個(gè)問題,就把默認(rèn)python設(shè)置回python2就好了。就是個(gè)ln建立快捷方式都事:
1
2
3
4
5
|
# 備份(python具體的位置根據(jù)自己情況定) $ sudo mv /usr/bin/python /usr/bin/python_bak # 更換 $ sudo ln -s /usr/bin/python2 .7 /usr/bin/python |
然后再試一下$ lsb_release -cs
看看有沒有顯示jessie
無法添加源 add-apt-repository 報(bào)錯(cuò)找不到相關(guān)源
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://segmentfault.com/a/1190000018028887