乐趣区

关于机器学习:在树莓派上搭建docker

起因

总是听人说在树莓派上应用 docker 多好多好,近日,本人推演了一番,发现确实不错,起码隔离成果挺好。要晓得,树莓派因为是 arm 架构,所以更多 pip 包只能以 apt python3-xxx 的模式装置在零碎里 (用 venv 会各种错,装置错、应用时错,痛不欲生)。所以,就想试试用 docker 隔离,把我之前的时序合成股票,做成微服务放上去。

装置过程

  1. 应用清华源,装置 docker-ce。
  2. 应用阿里镜像,代理 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 地址

https://github.com/zhangsheng…

退出移动版