继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

在树莓派上搭建docker

zhangsheng377
关注TA
已关注
手记 14
粉丝 0
获赞 5

起因

总是听人说在树莓派上使用docker多好多好,近日,自己推演了一番,发现的确不错,起码隔离效果挺好。要知道,树莓派由于是arm架构,所以更多pip包只能以apt python3-xxx的形式安装在系统里(用venv会各种错,安装错、使用时错,痛不欲生)。所以,就想试试用docker隔离,把我之前的[时序分解股票],做成微服务放上去。

安装过程

  1. 使用[清华源] mirrors.tuna.tsinghua.edu.cn/help/docker-ce/ ,安装docker-ce。
  2. 使用[阿里镜像] cr.console.aliyun.com/cn-hangzhou/instances/mirrors ,代理docker-hub。

安装监控

sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

添加用户进组

sudo usermod -aG docker $USER

把用户加进docker组里,之后新终端里就不需要用sudo docker了。

制作自己的base镜像

FROM resin/rpi-raspbian:latest
ENTRYPOINT []

RUN rm /etc/apt/sources.list
COPY sources.list /etc/apt/sources.list
RUN rm /etc/apt/sources.list.d/raspi.list
COPY raspi.list /etc/apt/sources.list.d/raspi.list

RUN apt update && \
    apt upgrade
RUN apt install libcurl4
RUN apt install apt-utils

CMD ["/bin/bash"]
docker build -t zhangsheng377/raspberry_base .

进入自己制作的镜像的bash界面

若是上述dockerfile中没有加
> CMD ["/bin/bash"]

则需要在 docker run 时指定command:

docker run -ti zhangsheng377/raspberry_base /bin/bash

否则,只需:

docker run -ti zhangsheng377/raspberry_base

更新镜像

FROM zhangsheng377/raspberry_base
ENTRYPOINT []

RUN apt update && \
    apt upgrade

CMD ["/bin/bash"]
docker build -t zhangsheng377/raspberry_base -f Dockerfile .

对外端口、后台运行

# docker run -d -p 5000:5000 --restart always zhangsheng377/stats_stock
docker run -d -p 5000:5000 -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro --restart always zhangsheng377/stats_stock

其中:

  • -d 为后台运行
  • -p 为开放的端口范围
  • –restart always 为重启策略

下一步计划

  • 学习Docker Compose

Github地址

file

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP