This image contain vscode-server with Tensorflow 2.10.1, PyTorch 2.0.1+cu118, etc.
2.3K
期望可以解決不同電腦造成的複雜的安裝環境,且可以在任何瀏覽器中運行 VS Code
感謝 works-on-my-machine,讓我有個好的 base image 可以做修改
Dockerfile 包含下列套件:
nvidia-smi 檢查 Nvidia 顯示卡驅動是否成功安裝和辨識docker info 是否有成功顯示 Docker 資訊在 Windows 環境下,進入 Powershell/Ubuntu 後,切換路徑到欲連接的 Volume
Windows
docker run --privileged --rm -it --init `
--gpus=all `
--ipc=host `
--user="1000:1000" `
--volume="${PWD}:/projects" `
-p 8888:8443 `
adsfaaron/vscode-server-gpu:11.6.2
Linux
docker run --privileged --rm -it --init \
--gpus=all \
--ipc=host \
--user="$(id -u):$(id -g)" \
--volume="$PWD:/projects" \
-p 8888:8443 \
adsfaaron/vscode-server-gpu:11.6.2
執行完上述的指令,且沒有錯誤時,即可從 http://localhost:8888 連入網頁中的 VS Code (~ ̄▽ ̄)~
Windows
docker run --privileged -d --init `
--gpus=all `
--restart always `
--cpus="4" `
--dns 8.8.8.8 `
--ipc=host `
--user="1000:1000" `
--volume="${PWD}:/projects" `
-p 8888:8443 `
-e PASSWORD='password' `
-e EXTENSIONS="ms-python.vscode-pylance,tushortz.python-extended-snippets,andyyaldoo.vscode-json,vscode-icons-team.vscode-icons" `
adsfaaron/vscode-server-gpu:11.6.2
Linux
docker run --privileged --rm -it --init \
--gpus=all \
--restart always \
--cpus=4 \
--dns 8.8.8.8 \
--ipc=host \
--user="$(id -u):$(id -g)" \
--volume="$PWD:/projects" \
-p 8888:8443 \
-e PASSWORD='password' \
-e EXTENSIONS="ms-python.vscode-pylance,tushortz.python-extended-snippets,andyyaldoo.vscode-json,vscode-icons-team.vscode-icons" \
adsfaaron/vscode-server-gpu:11.6.2
您可以自行選擇是否要加入這些參數
--restart always : Container 意外中斷後,會持續進行重新啟動--cpus="4" : 設定最多可調用 4 個邏輯處理器核心到 Container--dns 8.8.8.8 : 設定 Container 的 DNS,是因為小弟我的主機預設的 DNS 有時很不穩,沒有一定要加拉 〒▽〒-p 8888:8443 : 表示建立的 container 目前 8443 port 將與主機的 8888 port 連接。
-p 1234:8443-e PASSWORD : 設定 VSCode 進入頁面前的密碼,建議設定較高難度的密碼。若沒有設定,需另開一個 Container 的 Terminal 進入 ~/.config/code-server/config.yaml 中尋找密碼-e EXTENSIONS : 預先安裝 Code-server 中的套件,方便使用者進入後即可快速使用。更多的使用者套件,請至 Open-vsx 查詢,並且記錄套件頁面的 Bundled Extensions。多個套件使用 , 進行分隔docker exec -it <your_container_name> /bin/bash
cat ~/.config/code-server/config.yaml
也可以使用 Docker Container ID ( docker ps -a ) 進入
docker attach <your_container_id> /bin/bash
cat ~/.config/code-server/config.yaml
若要跳出 Container,可以使用 CTRL-p CTRL-q,詳細指令請參考 DockerAttach
--volume, -v : Container 與本機資料夾連線,可傳輸檔案
本機路徑 : Container 路徑${PWD} : 表示為目前路徑-v ${PWD}/config:/home/coder/.config
--ipc : 可參考 philipzheng 所撰寫的詳細內容
--user : 使用者的權限,僅在 linux 上才有,可參考 askubuntu,預設使用者是 1000,因此 Windows 上直接指定值,避免出錯
--gpus=all : 表示 Container 可以調用到所有的顯示卡,若要指定特定的顯卡,可以使用下方指令尋找
nvidia-smi --query-gpu=uuid --format=csv
查詢後,在 docker run GPU 欄位修改如下
--gpus "device=GPU-<uuid>"
或是使用 (在我的 WSL2 環境下,底下這個指令沒有作用)
--gpus device=0
由於在 http 中的 VSCode Server 圖片顯示上會無法顯示,為了解決此方法,您有兩種選擇
Dockerfile,在檔案的最後 ENTRYPOINT 需加上 "--cert",並且在 entrypoint.sh 中增加 volume 連接,因為我的 Code server 主要是多人使用,因此選擇 Reverse Proxy 來實作
這方法不會是最快、耗最少資源的方式,但比較簡易操作
localhost:81 或是 127.0.0.1:81 登入帳號密碼SSL Certificates,點擊 Add SSL Certificate,並選擇 Let's EncryptHost > Proxy Hosts,點擊 Add Proxy HostDomain Names 填入剛剛申請的網址
Scheme 選擇 httpForward Hostname / IP 填入自己電腦的 ip,或是在雲端運算的 ip 位置 (e.g. 127.0.0.1,localhost 填入會無法解析)Forward Port 選擇電腦送出的 portWeb Socket Supports 在 VS Code Server 需開啟,否則登入畫面會呈現空白SSL,SSL Certificate,選擇在 6. 取得的網頁憑證,Force SSL HTTP/2 Support 需開啟docker build -t vscode-server-gpu:11.6.2 .🔣 指令說明
-t(--tag) vscode-server-gpu:11.6.2 : 標籤 image 名字. : 表示為根據目前的目錄建置,若有特別的路徑 可在此設置⚠️ 建議 build 時是在 linux 環境下,windows 容易在設置使用者權限時出錯
Content type
Image
Digest
sha256:bf45dde1a…
Size
7.7 GB
Last updated
over 1 year ago
docker pull adsfaaron/vscode-server-gpu