树莓派安装使用docker
时间:2019-11-11
本文章向大家介绍树莓派安装使用docker,主要包括树莓派安装使用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"]
原文地址:https://www.cnblogs.com/kasnti/p/11833778.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法