TensorFlow: docker-tensorflow-gpu
https://github.com/dragoon8192/LaundryTag/
dragoon8192.icon 探り探りではあるがGitHubにご用意しました
Dockerfile
TensorFlowの公式Docker イメージを使う
GPUを使うバージョン
code:Dockerfile
FROM tensorflow/tensorflow:latest-gpu
GUIを表示するためのツールをインストール
code:Dockerfile
RUN apt install -y python3-tk
ここで追加のパッケージを入れる
code:Dockerfile
RUN pip3 install matplotlib nptyping
docker-compose.yml
code:docker-compose.yml
version: '2'
services:
tensorflow-gpu:
上のDockerfileを用いる
code:docker-compose.yml
build: .
tensorflow-gpuという名前をコンテナにつける
code:docker-compose.yml
container_name: tensorflow-gpu
GUI用の設定
code:docker-compose.yml
environment:
- DISPLAY=${DISPLAY}
network_mode: 'host'
停止した場合、コンテナを再起動する
code:docker-compose.yml
restart: always
tty: true
コンテナの外の./srcをroot/srcとしてマウントする
code:docker-compose.yml
volumes:
- ./src:/root/src
GUI用の設定
code:docker-compose.yml
- ~/.Xauthority:/root/.Xauthority:ro
コンテナ内の/rootで作業を行う
code:docker-compose.yml
working_dir: '/root'
GPUをすべて使う
code:docker-compose.yml
deploy:
resources:
reservations:
devices:
- capabilities: gpu
reference.icon Compose で GPU アクセスの有効化 — Docker-docs-ja 20.10 ドキュメント
reference.icon Docker  |  TensorFlow
reference.icon Compose specification | Docker Documentation
reference.icon DockerとDocker ComposeでPythonの実行環境を作成する | ZUMA Lab
reference.icon DockerでPython実行環境を作ってみる - Qiita
GUIのためにX Serverの設定をいじるのに苦労した
方法の選択肢が多いが、危険なものもある
reference.icon Docker コンテナ内のGUIアプリを起動してホスト側に表示する
reference.icon Dockerのコンテナの中からホストOS上のプロセスと通信する方法 - Qiita
host.docker.internalを使う方法は良さげだが
Docker Desktop限定なので汎用性を考えてやめておいた