19
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Unity開発環境をdocker上に構築する

Posted at

概要

  • ホスト側のGUIでdocker上のUnityEditorを起動する方法を紹介します
  • UbuntuのUnity導入手順が面倒だったのでdockerfileにまとめました
  • ほとんど前回の投稿と同じ内容です
  • 簡単に使える dockerfile がなかったので作って公開しました → chikuta-dockerfiles

検証環境

今回検証した環境は以下になります。

Hardware
cpu - AMD Ryzen 9 3900X
gpu - Geforce RTX 2060 super
ram - 32G

Software
os - ubuntu 20.04.1
kernel - Linux define 5.4.0-48-generic
docker - 19.03.13
nvidia-driver - 450.66
cuda version - 11.0

nvidia-smi の出力を添付しておきます。

$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.66       Driver Version: 450.66       CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce RTX 206...  Off  | 00000000:0E:00.0  On |                  N/A |
| 38%   40C    P8    11W / 175W |    916MiB /  7979MiB |      1%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

環境整備

最初にnvidia-container-runtimeをインストールします。

# apt 関連設定
$ curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add -
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list

# nvidia-container-runtimeインストール
$ sudo apt update
$ sudo apt install nvidia-container-runtime

# docker service の再起動
$ sudo systemctl restart docker.service

次に docker group に自身の UID を登録します。docker を使っている人はやっていると思いますが念の為。

$ sudo usermod -a -G docker `id -un`
$ sudo systemctl restart docker.service

実行方法

次にdockerイメージのビルドを行います。

$ git clone https://github.com/chikuta/chikuta-dockerfiles.git
$ cd chikuta-dockerfiles
$ ./docker/ros-bionic-melodic-unity/build-docker-image.bash

次に以下のコマンドを実行することでビルドしたイメージのコンテナを起動できます。スクリプトの中身はxhost周りの処理とdockerの引数をラッピングしたものです。必要に応じて編集をすれば自分の環境を作れるで積極的にカスタマイズしましょう。

$ cd chikuta-dockerfiles
$ ./docker/ros-bionic-melodic-unity/run-docker-container.bash

スクリプトを実行すると青色のterminatorが立ち上がります。これは dockerコンテナ上で動いているターミナルアプリケーションになるため、ここで実行したコマンドは全てdockerコンテナ上で処理されます。
次にUnityHubを立ち上げてみます。

cd /opt/unity
./UnityHub.AppImage

unityhub.png

必要な環境をインストールした後にUnityEditorを立ち上げてみましょう。
画像は適当な Free Island Collection をAsset Storeから取得して表示したものになります。

unityeditor.png

次はROS連携あたりを書いていきます。

参考

19
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?