樹莓派安裝使用docker


2019/11/11, 樹莓派4B, Raspbian Buster,Docker 19.03.4

摘要:樹莓派Raspbian Buster中安裝Docker,Dockerfile更改軟件源

安裝docker

下載安裝腳本:

curl -fsSL https://get.docker.com -o get-docker.sh

使用阿里雲鏡像下載安裝:

sh get-docker.sh --mirror Aliyun

執行腳本后會自動識別arm架構,下載安裝對應版本docker,稍等片刻即可

將當前用戶加入docker組:

sudo usermod -aG docker $USER

退出當前終端並重新登錄,此時操作docker不再需要加sudo權限

注意:
樹莓派是arm架構的,所以不能使用x86平台的鏡像,在使用docker pull 拉取時,docker會自動根據當前架構去查找是否有架構匹配的鏡像,所以,如果是自制鏡像,則需要分平台編譯

安裝docker-compose

因為樹梅派是arm架構,docker-compose是沒有提供官方的二進制文件的,所以我們要使用python的pip工具來安裝docker-compose
更新apt軟件源:

sudo apt-get update

安裝python和pip:

sudo apt-get install -y python python-pip

安裝libffi-dev,否則在安裝docker-compose的時候會報錯:

sudo apt-get install -y libffi-dev

使用pip安裝docker-compose,臨時使用中科大的軟件源:

sudo pip install docker-compose -i https://pypi.mirrors.ustc.edu.cn/simple/  --trusted-host  pypi.mirrors.ustc.edu.cn

安裝完成后,如果執行docker-compose命令提示找不到ssl_match_hostname

需要把python2.7(具體哪個版本從上圖可以看出來)的dist-packages文件夾復制到docker的工作目錄下:

sudo cp -r /usr/local/lib/python2.7/dist-packages/backports /usr/local/lib/python2.7/dist-packages/docker/transport/

docker鏡像更改軟件源

在樹莓派docker中構建鏡像時,如果要更改鏡像軟件源,使用案例如下:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.0
#安裝ffmpeg工具
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list \
    && apt-get update \
    && apt-get install -y ffmpeg \
    && apt-get clean && apt-get autoclean && apt-get autoremove \
    && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY ./publish/ /app 
#默認就是80端口,如果要別的端口,代碼中要明確指定監聽端口號
EXPOSE 80
EXPOSE 443
ENTRYPOINT ["dotnet","WebMvc.dll"]

開放指定端口

樹莓派使用的是iptables
開放80端口(注意eth0是網卡,如果是無線連接要改為wlan0):

sudo iptables -I INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
sudo iptables -I OUTPUT -o eth0 -p tcp --sport 80 -j ACCEPT

關閉80端口:

# 關閉80端口
sudo iptables -I INPUT -i eth0 -p tcp --dport 80 -j DROP
sudo iptables -I OUTPUT -o eth0 -p tcp --sport 80 -j DROP


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM