とってもヘボいので、晒すのもどうかなと思うのですが、自分の忘備録として記事にしておこうかな..と、ふと。
環境はCentOS7、hara2devというdockerグループにも入っているユーザで以下の3つのスクリプトはホームの下にdockerというディレクトリを切ってその中に入っているてい。
/home/hara2dev/docker/env_tensorflow.sh
#!/bin/bash
############################################################
# filename: env_tensorflow.sh
#
# (C) hara^2 development, 2017 all rights reserved.
############################################################
## Jupyter notebook password
PASSWORD=harahara
## PORT
# Jyupiter port
JUP_PORT=8888
# TensorFlow Boad port
TFB_PORT=6006
# REST API port
REST_PORT=3000
## TensorFlow Version
TF_VER=1.2.0
#TF_VER=1.1.0
#TF_VER=1.0.1
## CPU / GPU
# CPU
#NODE=
#DOCKER=/usr/bin/docker
# GPU
NODE=-gpu
DOCKER=/usr/bin/nvidia-docker
## Python Version
# 2.x
#PY_VER=
# 3.x
PY_VER=-py3
## docker image
DOCKER_IMAGE=tensorflow/tensorflow
## docker tag
#DOCKER_TAG=latest
DOCKER_TAG=${TF_VER}${NODE}${PY_VER}
## pid file path
PID_DIR=/home/hara2dev/docker/pid
#PID_DIR=.
PID_FILE=${PID_DIR}/${DOCKER_TAG}.pid
## bin path
# ubuntu
CAT=/bin/cat
RM=/bin/rm
# cent
#CAT=/usr/bin/cat
#RM=/usr/bin/rm
/home/hara2dev/docker/start.sh
#!/bin/bash
############################################################
# filename: start.sh
#
# (C) hara^2 development, 2017 all rights reserved.
############################################################
## env script path
ENV_PATH=./env_tensorflow.sh
## operations
source ${ENV_PATH}
${DOCKER} run \
--name "${DOCKER_TAG}" \
--publish "${JUP_PORT}:8888" \
--publish "${TFB_PORT}:6006" \
--publish "${REST_PORT}:3000" \
--volume /home/hara2dev/docker/work:/notebooks/work \
--volume /home/hara2dev/docker/share:/notebooks/share \
--env HTTP_PROXY="http://proxy.server:8080/" \
--env HTTPS_PROXY="http://proxy.server:8080/" \
--env NO_PROXY="localhost,127.0.0.1,*.hara2dev.local" \
--env PASSWORD="${PASSWORD}" \
--log-driver=syslog \
--log-opt syslog-address=tcp://172.17.0.1:514 \
--log-opt tag="${DOCKER_TAG}" \
--detach \
--cidfile ${PID_FILE} \
${DOCKER_IMAGE}:${DOCKER_TAG}
/home/hara2dev/docker/stop.sh
#!/bin/bash
############################################################
# filename: stop.sh
#
# (C) hara^2 development, 2017 all rights reserved.
############################################################
## env script path
ENV_PATH=./env_tensorflow.sh
## operations
source ${ENV_PATH}
PID=`${CAT} ${PID_FILE}`
${DOCKER} stop ${PID}
${DOCKER} rm ${PID}
${RM} -rf ${PID_FILE}
ログインして
cd dockerして
start.shで起動、
stop.shで停止、
docker ps で状態確認。
コンテナ停止、即コンテナイメージ削除してますが
shareとworkというディレクトリを共有させているので
ここにファイルを置けばなんとかなるとおもって..
TensorFlowのバージョンやGPU指定Pythonバージョン指定などを
変更する場合は、停止している状態で env_tensorflow.sh を修正する。
あと、rsyslogdも動いているていで。
172.17.0.1 はデフォルトルータの一つでホスト側IPを指しているんだけど、ここにIP書くわけに行かないので、代わりにこのIPを入れてます。
ホントは、docker-composeしたいんだけど、GPUイメージはnvidia-docker起動だから..
0 件のコメント:
コメントを投稿