Docker環境設定の方法
SmallTrain Dockerの環境設定の方法を説明します。
SmallTrain Dockerの環境設定をご自身で変更することができます。
Overview
- (例として、Getting Started(CIFAR-10 image classification)を実行した直後のサーバにアクセスしていることを想定します。)
SmallTrain Dockerの環境設定は、Getting StartedでクローンしたSmallTrainリポジトリ下のdockerディレクトリ~/github/geek-guild/smalltrain/docker/
下の.env
という名前です。
次のようなコマンドを入力して、設定ファイルをエディタで開き、編集をします。
on the host
# dockerディレクトリに移動
$ cd ~/github/geek-guild/smalltrain/docker/
# 設定ファイル .env をvimエディタで開く(viと短縮コマンドを打ち込んでも開けます)
$ vi .env
設定ファイルの内容
smalltrain/docker/.env
COMPOSE_PROJECT_NAME=default
NVIDIA_VISIBLE_DEVICES=0
SMALLTRAIN_ROOT=~/github/geek-guild/smalltrain
GGUTILS_SRC_ROOT=~/github/geek-guild/ggutils
REDIS_ROOT=~/redis
SMALLTRAIN_IP_ADDR=172.28.0.2
REDIS_IP_ADDR=172.28.0.3
DATA_ROOT=~/data/
TENSORBOARD_PORT=6006
JUPYTER_NOTEBOOK_PORT=8888
-
設定のポイント
COMPOSE_PROJECT_NAME
- 起動するDocker コンテナは、
smalltrain-<COMPOSE_PROJECT_NAME>
というような名前になるので、他のSmallTrain Dockerコンテナの名前と重複しないようCOMPOSE_PROJECT_NAME
を設定してください。 - 他のcontainerの名前は
docker ps -a
コマンドの実行結果の中のNAMES
で確認することができます。
- 起動するDocker コンテナは、
NVIDIA_VISIBLE_DEVICES
を、他のDockerコンテナやプログラムが利用しているGPU番号と重複しないようにします。DATA_ROOT
に、コンテナ側からマウントしたいホスト側のデータディレクトリを設定します(デフォルトでは、ホームディレクトリ以下の~/data/というデータディレクトリをマウントします)。- SmallTrainコンテナのIPアドレス
SMALLTRAIN_IP_ADDR
, RedisコンテナのIPアドレスREDIS_IP_ADDR
を、他のDocker containerが利用しているIPと重複しないようにします。- 他のcontainerが利用しているIPは
docker network inspect
コマンドを使い、次のようにして確認できます。
$ docker network inspect smalltrain_network | grep IPv4Address
- 他のcontainerが利用しているIPは
TENSORBOARD_PORT
,JUPYTER_NOTEBOOK_PORT
を、他のDocker containerが利用しているportと重複しないようにします。
-
もし、RedisコンテナのIPアドレス
REDIS_IP_ADDR
を変更した場合は、SmallTrainコンテナからRedisコンテナに接続するための設定ファイルredis_connection_setting.json
を変更する必要があります。 この設定ファイルは~/github/geek-guild/smalltrain/src/configs/redis_connection_setting.json
の位置にあります。$ vi ~/github/geek-guild/smalltrain/src/configs/redis_connection_setting.json
smalltrain/src/configs/redis_connection_setting.json
{ "host": "172.28.0.3", "port": 6379, "redis_db_num": 0, ... }
"host": "172.28.0.3"
の箇所が、RedisコンテナのIPアドレスを示します。この値を、REDIS_IP_ADDR
に合わせて変更してください。
-
設定ファイルの変更が完了したら、Getting Started(CIFAR-10 image classification) のDockerコンテナを実行します。の手順に戻って、Dockerコンテナを実行してください。