Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Docker環境は、AdamAppSDKがインストールされたUbuntu上に構築します。

あらかじめAdamAppSDK開発環境を構築してください。(本チュートリアルでは省略します)

また、apt-getコマンドなどを使ってソフトのインストールを行いますので、apt-getが可能なインターネット接続と、インストールが可能な権限(root権限など)設定も実施しておいてください。

チュートリアルでのインストール対象OS
  • Ubuntu 18.04.2 LTS (bionic)

あらかじめAdamAppSDK開発環境を構築してください。(本チュートリアルでは省略します)

また、apt-getコマンドなどを使ってソフトのインストールを行いますので、apt-getが可能なインターネット接続と、インストールが可能な権限(root権限など)設定も実施しておいてください。

参考:Docker公式ドキュメント

...

パッケージをインストールする

Docker環境の構築に必要なパッケージをインストールします。

Code Block
$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common \
    qemu-user-static

...

リポジトリを追加する

Docker社提供のUbuntu用aptリポジトリをシステムに追加します。

...

Code Block
languagenone
FROM arm64v8/ubuntu:bionic

ADD qemu-aarch64-static /usr/bin
ADD exec_entry.sh /bin

RUN apt-get update \
 && apt-get install -y --no-install-recommends \
    build-essential gcc-8 g++-8 gfortran-8 python3.7 python3-distutils python3-setuptools python3.7-dev python3-pip cmake unzip \
 && apt-get -y clean && rm -rf /var/lib/apt/lists/*
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8 \
 && update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-8 800 \
 && update-alternatives --install /usr/bin/python python /usr/bin/python3.7 800
RUN python -m pip install Cython
RUN chmod +x /bin/exec_entry.sh

ENTRYPOINT ["/bin/exec_entry.sh"]
Note

※Dockerfile変更時は、上記の1※Dockerfileを変更する際は、上記の1,3,4,14,16行は変更しないでください。16行目は変更しないでください。

Info

インターネット接続にプロキシサーバが必要な場合インターネット接続にプロキシサーバが必要な場合は、

RUN apt-get update \

の前の行に、以下を追加してください。の前の行に、以下の行を追加してください。

(プロキシサーバのURLやポート番号は、使用するプロキシサーバに即したものに変更してください。)

ENV http_proxy=http://proxy.example.com:8080/ https_proxy=http://proxy.example.com:8080/

...

Note

Dockerfileが存在するディレクトリに、以下の2ファイルが存在することを確認してください。

  • exec_entry.sh

  • qemu-aarch64-static

これらのファイルは、Pythonモジュール作成時に必要であるため、削除しないでください。これらのファイルはPythonモジュール作成時に必要であるため、削除しないでください。

Pythonモジュールをコンパイルする

...

手順

AdamApp用Pythonモジュールは、以下の手順で作成します。

...

Info

コンパイル手順を更新するときは、以下にご注意ください。

  • dockerを実行した際、external/build/sample/docker/docker_volumeが/home/dockerとしてmountされます。

  • ソースファイルやコンパイルディレクトリも/home/dockerに配置されます。

  • コンパイル済みモジュールは/home/docker/install_pathにインストールするようにしてください。

  • OpenCVのコンパイルには、NumPyモジュールが必要になります。

サンプルスクリプトとしてmoduleサンプルスクリプトとして、NumpyとOpenCVをコンパイルするためのmodule_compile.shを用意しているため、チュートリアルではmoduleshを用意しています。

チュートリアルではmodule_compile.shを変更せずに進めます。

コンパイルする

...