zoukankan      html  css  js  c++  java
  • 树莓派安装使用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
    
  • 相关阅读:
    workerman定时器使用
    php foreach 传值还是传引用
    VPS技术介绍以及分析
    Xen、Openvz、KVM有什么区别?
    别说你会用 Google 搜索
    射手网字幕打包下载(73.16G)
    Windows Server 2003 激活码及激活方法
    Linux VPS 基本命令
    mysql 错误代码汇总
    SQL Server 2008 序列号
  • 原文地址:https://www.cnblogs.com/kasnti/p/11833778.html
Copyright © 2011-2022 走看看