use nvidia-docker-compose launch a container, but

2020-07-26 00:55发布

My docker-compose.yml file :

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

After nvidia-docker-compose up -d the container launched, but exited soon.

But when I launch a container by nvidia-docker way, it worked well.

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

1条回答
霸刀☆藐视天下
2楼-- · 2020-07-26 01:22

You don't have to use nvidia-docker-compose. By configuring the nvdia-docker plugin correctly you can just use docker-compose!

Via the nvidia docker git repo: (can confirm it works for me)

Step 1:

Figure out nvidia driver version (it matters). run:

 nvidia-smi

output:

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

NVIDIA-SMI 367.57 Driver Version: 367.57

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

Step 2:

create a docker volume that uses the nvidia-docker plugin must be done outside of compose as compose will mangle the volume name if it creates it.

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

Step 3

in the docker-compose.yml file:

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
查看更多
登录 后发表回答