Rintarooo / opengl_vm_docker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GCP VM+Docker+OpenGL+CMake

  • GCP VM(+Chrome Remote Desktop for GUI)
  • Docker(docker-compose, nvidia-docker)
  • OpenGL(+CUDA)
  • CMake

Usage

0. Set up

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

for VSCode User

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

1. Build Docker image and Run container

次に、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

2. Build c++ code and Run

コンテナ内で、build and run

./build.sh
./build/main

About


Languages

Language:Shell 72.6%Language:Dockerfile 12.5%Language:C++ 11.9%Language:CMake 3.0%