Ubuntu16.04LTS上でのDocker環境構築(CPU/GPU)
社内の開発環境としてDocker環境を構築した。備忘録としてメモする。
背景
サーバ向けアプリの機能開発のため、以前から聞いたことのあったDockerを使用した開発を試みた。
備忘録としてメモに残しておく。
GPUなしの環境での環境構築
環境
Ubuntu16.04 LTS
セットアップ手順
- Dockerをインストールする。
# sudo apt update
# sudo apt install docker
- Dockerの起動、自動起動設定
# sudo systemctrl start docker
# sudo systemctrl enable docker
- Dockerのプロキシ設定をする ※Proxy環境のみ設定
# mkdir /etc/systemd/system/docker.service.d/
# vim /etc/systemd/system/docker.service.d/http-proxy.conf
http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://(proxy_ip):(proxy_port)/"
※proxy_ip
とproxy_port
は使用環境のものを設定
- DNSサーバの設定をする
# sudo vim /etc/docker/daemon.json
daemon.json
{
"dns" : ["dns_ip"],
"dns-opts" : ["timeout:1"]
}
※dns_ip
には使用環境のDNSサーバIPを入れる
- Dockerの再起動
# sudo systemctrl daemon-reload
# sudo systemctrl restart docker
- 一般ユーザでもDockerが起動できるようにする
# sudo usermod -G docker user_name
※user_name
には使用するユーザ名を入れる
- Dockerの起動テスト確認 ※上記一般ユーザで実施
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
d1725b59e92d: Pull complete
Digest:sha256:0add3ace90ecb4adbf777・・・・
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
(省略)
おわり
GPUありの環境での環境構築(nvidia-docker)
環境
Ubuntu16.04 LTS
Nvidia Geforce 1080ti
セットアップ手順
- nvidia driverのインストール
# sudo add-apt-repository ppa:graphics-drivers/ppa
# sudo apt update && sudo apt install -y nvidia-384
# sudo reboot
- cuda9.0のインストール
# wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
# sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
# sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
# sudo apt upgrade
# sudo apt update && sudo apt install -y cuda-9-0
# sudo reboot
※nvcc
コマンドが聞かない場合には、~/.bashrc
に以下を追記する
.barhrc
## CUDA paths
export PATH=/usr/local/cuda-9.0/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:${LD_LIBRARY_PATH}
- Dockerをインストールする。
# sudo apt update
# sudo apt install docker
- Dockerの起動、自動起動設定
# sudo systemctrl start docker
# sudo systemctrl enable docker
- Dockerのプロキシ設定をする ※Proxy環境のみ設定
# mkdir /etc/systemd/system/docker.service.d/
# vim /etc/systemd/system/docker.service.d/http-proxy.conf
http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://(proxy_ip):(proxy_port)/"
※proxy_ip
とproxy_port
は使用環境のものを設定
- DNSサーバの設定をする
# sudo vim /etc/docker/daemon.json
daemon.json
{
"dns" : ["dns_ip"],
"dns-opts" : ["timeout:1"]
}
※dns_ip
には使用環境のDNSサーバIPを入れる
- Dockerの再起動
# sudo systemctrl daemon-reload
# sudo systemctrl restart docker
- 一般ユーザでもDockerが起動できるようにする
# sudo usermod -G docker user_name
※user_name
には使用するユーザ名を入れる
- nvidia-dockerに必要なライブラリをインストール
# sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
- nvidia-packageのダウンロード&インストール
# wget https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb
# sudo dpkg -i nvidia-docker_1.0.1-1_amd64.deb
- nvidia-dockerの起動テスト確認 ※上記一般ユーザで実施
$ nvidia-docker run -it --rm nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04
(docker containerログイン後)
# nvidia-smi
おわり