目的

ラズパイにDockerを入れます。


参照サイト

以下のサイトを参照しました。
参照サイトではRaspbianインストールから、TensorFlowの設定まで行っていますが、
そのあたりは本記事では行いません。

Dockerのインストール部分だけ参照しているため、一応本サイトでも記載したいと思います。
Raspberry Pi で TensorFlow する Docker 環境構築

導入方法

Dockerインストール

$ curl -sSL https://get.docker.com/ | sh


Dockerがインストールされたことの確認

$ sudo docker -v


Dockerインストールのログに記載している通り、piユーザに権限を付与する。

$ sudo usermod -aG docker pi


自動起動設定

$ sudo systemctl enable docker


再起動

$ sudo reboot


既存のイメージよりコンテナを作って、ログインする

$ docker run --name rpi-raspbian-stretch -ti --privileged resin/rpi-raspbian:stretch /bin/bash


ここまでで、コンテナにログインできて、カプセル化したOSを使えることができるようになりました。

ここからが本題で、上記では既存のイメージから作ったものにログインしましたが、
これに独自の改修を入れたDockerfileを作り、そこからコンテナを作りたいと思います。


Dockerfileについて

すみませんが、以降より現在検証中です。
Dockefileを作成します。
内容は以下とします。ファイル名はDockerfileです。

# 元のイメージ宣言
FROM resin/rpi-raspbian:stretch

# ロケール設定
ENV LANG C.UTF-8

# インターフェース設定:必須
ENV DEBIAN_FRONTEND noninteractive

# 作業ディレクトリの割り当て
ENV APP_ROOT /usr/src

# ??
# COPY src $APP_ROOT

# リポジトリサーバーの設定、自分の環境では一旦実施しない
# RUN echo "deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi firmware" > /etc/apt/sources.list

# パッケージの更新
RUN apt-get update -y
RUN apt-get upgrade

# ライブラリインストール
# git wget:それぞれ便利ツール
# build-essential:ビルドツール
# libatlas-base-dev:openCVで必要になるパッケージ?
RUN apt-get install -y --no-install-recommends libhdf5-dev 
RUN apt-get install -y --no-install-recommends libqtwebkit4
RUN apt-get install -y --no-install-recommends libqt4-test
RUN apt-get install -y --no-install-recommends libatlas-base-dev
RUN apt-get install -y --no-install-recommends libjasper-dev
RUN apt-get install -y --no-install-recommends python3-pip
RUN apt-get clean
RUN apt-get install python3-dev -y
RUN pip3 install pip -U
RUN pip3 install setuptools -U

# FROM python:3
# USER root

# RUN apt-get update
# RUN apt-get -y install locales && \
#     localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
# ENV LANG ja_JP.UTF-8
# ENV LANGUAGE ja_JP:ja
# ENV LC_ALL ja_JP.UTF-8
# ENV TZ JST-9
# ENV TERM xterm

RUN apt-get install -y vim less
RUN pip3 install --upgrade pip -U
RUN pip3 install --upgrade setuptools -U
RUN pip3 install numpy==1.16.4
RUN pip3 install sklearn
RUN pip3 install scipy
RUN pip3 install matplotlib



Dockerfileからイメージを作成する。

docker build -t 「イメージ名:タグ名」 「Dockerfileのパス」

# 例
docker build -t rasp:1.0 /work



イメージからコンテナを起動する。

$ docker run --name rasp_12 -ti --privileged rasp:1.2 /bin/bash

とりあえず、numpysklearnは動くようにしたので、 今回はこれで完了です。