Это не команда, это настройка среды. Вы можете установить переменные перед выполнением команды.
Т.е.:
var=1 echo "$var"
Команда для запуска - python
. Получить докер с python2.
THEANO_FLAGS=mode=FAST_RUN,device=gpu0,floatX=float32 python -u models/three_tier/three_tier.py --exp BEST_3TIER --seq_len 512 --big_frame_size 8 --frame_size 2 --emb_size 256 --skip_conn False --dim 1024 --n_rnn 1 --rnn_type GRU --q_levels 256 --q_type linear --batch_size 128 --weight_norm True --learn_h0 True --which_set MUSIC
Переменные среды устанавливаются и экспортируются оболочкой. Чтобы запустить его как * oneliner с docker
, вы должны сначала запустить оболочку и передать ей соответствующую информацию. Кроме того, следует помнить о ВХОДНОЙ ТОЧКЕ образа докера, при необходимости перезаписать его.
docker run some_image sh -c 'THEANO_FLAGS=mode=FAST_RUN,device=gpu0,floatX=float32 python -u models/three_tier/three_tier.py --exp BEST_3TIER --seq_len 512 --big_frame_size 8 --frame_size 2 --emb_size 256 --skip_conn False --dim 1024 --n_rnn 1 --rnn_type GRU --q_levels 256 --q_type linear --batch_size 128 --weight_norm True --learn_h0 True --which_set MUSIC'
Сначала запускается оболочка sh
. Затем sh
экспортирует переменную THEANO_FLAGS
со значением mode=FAST_RUN,device=gpu0,floatX=float32
(вся эта строка является значением переменной). Затем он вызывает команду python
(ищется в $PATH
) с остальной частью строки в качестве аргументов для программы python
.
В качестве альтернативы (и, может быть, чище) вы можете использовать опцию docker
s -e
или даже добавить ENV
в dockerfile:
docker run -e 'THEANO_FLAGS=mode=FAST_RUN,device=gpu0,floatX=float32' some_image python -u models/three_tier/three_tier.py --exp BEST_3TIER --seq_len 512 --big_frame_size 8 --frame_size 2 --emb_size 256 --skip_conn False --dim 1024 --n_rnn 1 --rnn_type GRU --q_levels 256 --q_type linear --batch_size 128 --weight_norm True --learn_h0 True --which_set MUSIC