- GCP VM(+Chrome Remote Desktop for GUI)
- Docker(docker-compose, nvidia-docker)
- OpenGL(+CUDA)
- CMake
![](https://private-user-images.githubusercontent.com/51239551/253531847-c8e2484b-da02-4f95-9812-16ad8c2c7f0e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY1Nzc0OTUsIm5iZiI6MTcxNjU3NzE5NSwicGF0aCI6Ii81MTIzOTU1MS8yNTM1MzE4NDctYzhlMjQ4NGItZGEwMi00Zjk1LTk4MTItMTZhZDhjMmM3ZjBlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTI0VDE4NTk1NVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZlZjMxMGFiMzhhNjdlMjIwMWJiMjc1MGMwZTVlZTRiYTJmN2E3ZDcyYjAzZTMzNThkZDllMjJmNGRhOWNmNzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.uoK1BQbyTy5ZUS9Y3c9A52a8xHTUppfd0jNnXbeXMbk)
clone repo
git clone https://github.com/Rintarooo/opengl_vm_docker
cd opengl_vm_docker/
.env_gcp
ファイルを作成し、GCPのプロジェクト・VMのインスタンス名を入れる
vim .env_gcp
.env_gcp
ファイルの中身
# $ gcloud config listでプロジェクト名確認
export PROJECT="GCP-project-name"
# $ gcloud compute instances listでインスタンス名確認
export INSTANCE="VM-instance-name"
VM作成&起動&接続
# VM作成
./gcould.sh create
# VM起動
./gcould.sh start
# VMに接続
./gcould.sh ssh
# install chrome remote desktop
./install_remote_desktop.sh
# jump on the following url, ssh connect to chrome remote desktop
https://remotedesktop.google.com/access
# VM起動中は課金されるので、使わない時は停止
./gcould.sh stop
VSCodeでSSH接続してVMのファイルを編集する
# VM起動毎に外部IPアドレスが変わってしまうので、静的なIPアドレスを作成してVMに割り当てる
./gcould.sh ip
vim ~/.ssh/config
~/.ssh/config
Host ### any name as you like
HostName ### externai ip address of VM
User ### user name, you can get user name $ echo $USER on your VM
IdentityFile ### private key path on your Mac, ~/.ssh/google_compute_engine
Port 22
VSCodeで、command + shift + p
でパレットを開いて、Remote-SSH: Connect to Host
からHostName
のVMを選択してssh接続
VM初回起動時:docker-compose のインストール&アプデ
(Deep Leanring VMにデフォルトで入るdocker-composeのバージョンが1.25.0と古いため)
./update_docker-compose.sh
次に、docker imageをビルド
# Dockerfileからビルド
docker-compose -f .devcontainer/docker-compose.yml build opengl-vm
# Xサーバーのアクセス権限を与える
xhost local:root
# コンテナ入る
docker-compose -f .devcontainer/docker-compose.yml run --rm opengl-vm /bin/bash
# GUI表示出来るか確認
xeyes
コンテナ内で、build and run
./build.sh
./build/main