2016-12-27 2 views
2

docker-compose.yml Моего файла:использования NVIDIA-докер-Compose запустить контейнер, но вышла вскоре

version: '2' 
services: 
    zl: 
    image: zl/caffe-torch-gpu:12.27 
    ports: 
     - "8801:8888" 
     - "6001:6008" 
    devices: 
     - /dev/nvidia0 
    volumes: 
     - ~/dl-data:/root/dl-data 

После nvidia-docker-compose up -d контейнера запущен, но вышла в ближайшее время.

Но когда я запускаю контейнер на nvidia-docker образом, он работал хорошо.

nvidia-docker run -itd -p 6008:6006 -p 8808:8888 -v `pwd`:/root/dl-data --name zl_test 

ответ

2

Вам не нужно использовать nvidia-docker-compose. Правильно настроив плагин nvdia-docker, вы можете просто использовать компоновку docker!

Через nvidia docker git repo: (может подтвердить это работает для меня)

Шаг 1:

Выяснить версия драйвера NVIDIA (это важно). пробег:

nvidia-smi 

выход:

+ --------------------------------- ------------------------------ +

NVIDIA-SMI 367,57 Driver Версия: 367,57

| - ----------------------------- + -------- + ----------- ----------- +

Этап 2:

создать том докера, который использует плагин nvidia-docker, должен выполняться вне компоновки, поскольку compose будет управлять именем тома, если он его создает.

docker volume create --name=nvidia_driver_367.57 -d nvidia-docker 

Шаг 3

в Докер-compose.yml файла:

version: '2' 
    volumes: 
     nvidia_driver_367.57: # same name as one created above 
     external: true #this will use the volume we created above 

    services: 
     cuda: 
     command: nvidia-smi 
     devices: #this is required 
     - /dev/nvidiactl 
     - /dev/nvidia-uvm 
     - /dev/nvidia0 #in general: /dev/nvidia# where # depends on which gpu card is wanted to be used 
     image: nvidia/cuda 
     volumes: 
     - nvidia_driver_367.57:/usr/local/nvidia/:ro 
+0

добавить 'TTY: true' решить эту проблему. –

+0

@oneklc - Я знаю, что это не сейчас ... но, может быть, вы можете мне помочь ... пытаетесь использовать метод, который вы написали, но я думаю, что я что-то упустил? это полный файл yml? – boaz

+1

@boaz Это полный файл yml, который я использую. Ключевым моментом здесь является создание внешнего объема докеров. Обратите внимание на версию 2 для докеры, поэтому вам понадобится совместимая версия docker-compose. И Nvidia-docker необходимо установить, если это неясно. В зависимости от os устройства могут быть названы по-разному (мой был протестирован на centos 7 и ubuntu 14.04). Также я могу проверить, что это не работает над роутом докеров, мне не удавалось запускать службы GPU удаленно с этой настройкой (ну, они начали, но не работали). – oneklc