LoginSignup
2
0

More than 5 years have passed since last update.

【Docker】Docker Image作り、Tensorflow-OpencvのContainer

Last updated at Posted at 2018-11-30

【はじめに】
皆さん、こんにちは。今日はここでの一言とか要らないです。では始めさせて頂きます。

準備

まずは必要なイメージを作るために必要な環境を用意します。
- Docker Toolbox
- Docker Cloud

Docker Toolbox インストール

今回の記事ではDocker Toolboxを利用してやります。
Install Docker Toolbox on Windows ←ここから簡単にダウンロードができます。
筆者は既にインストール済みなのでこちらの画面が問題なしに表示されば成功です。image.png

イメージダウンロード

タイトルではイメージ作りだと記載しましたが今回は既にあるUbuntu16.04を利用して作りたいと思います。
commandに次のように入力します。

command
docker pull ubuntu:16.04

するとこのようにUbuntuのイメージが生成されます。image.png
何でUbuntuの最新バージョンの18.04ではなく、16.04なのかに疑問があると思うんですけど実際18.04バージョンに環境を設置するとうまくいかなかったので16.04にしました。なんの設置かというと【Ubuntu】Ubuntu16.04にPython環境インストール(前半)こちらの環境構築です。これも同じく16.04にダウンして成功させました。

イメージのUbuntuにPython3環境を構築

【Ubuntu】Ubuntu16.04にPython環境インストール(前半)
この説明はこちらの記事にあるので参考にして下さい。そちらの方が早いです。終わったらこの画面になりますね。image.png

ライブラリインストール

Opencv環境までの構築は終わったら今回の記事もほぼ終わりになります。後はPythonの基本ライブラリとTensorflowやOpencvに必要なライブラリをインストールします。

command
pip install tensorflow
pip install opencv_contrib_python
pip install pyqt5
pip install panda
pip install sklearn
pip install scipy
pip install torch
pip install chainer
...

人によって必要なライルぶらりは全部違うと思うので各自自由にインストールして下さい。ここまで出来たら次の作業はこのコンテナをcommitして内容を保存します。

※番外

ここからはContainerをcommitしてDocker CloudにPushする作業になります。Cloudにあげることによってどの環境でも時間かけずに構築することができます。

Docker Cloudのアカウント生成、ログイン

docker cloudこちらで無料ですぐ作れるんで必要な方は作ってみてください。image.png
筆者は既にopencvまで構築完了のバージョンと本番用のイメージをアップロードしています。

そしてDockerにログインします。

command
docker login
username: ****
password: ****

image.png

COMMIT

構築が終わったコンテナをCOMMITします。

command
docker commit -m "test" <コンテナID> <イメージID>:TAG

これでコンテナの内容がCOMMITされて最初pullしたubuntu16.04イメージとは別の自作のイメージが作られます。
image.png
最初pullしたイメージ:ubuntu16.04
commitで作られたイメージ:sample/sample:TAG
筆者の場合だとwbseo/tensorflow-opencv:16.04になります。

PUSH

最後に作ったイメージをクラウドにPUSHするための作業です。
まずTAG commandで新しい名前にします。

command
docker tag local-image:tagname new-repo:tagname

そしてクラウドにPUSHします。

command
docker push new-repo:tagname

【まとめ】
Virtual BoxにUbuntuをインストールしてその上に構築するよりこれが時間もかからないしすごく楽になります。ほとんどそうだと思うんですけど同じチームで作業しているのに微妙にライブラリのバージョンが合わなくてうまくいかなかった経験とかないでしょうか。僕はそれにものすごくイライラしちゃったのでこうやって作りました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0