Loading

树莓派安装使用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
posted @ 2019-11-11 13:47  kasnti  阅读(4956)  评论(0编辑  收藏