Code-server with openSUSE Leap 15 in Azure
Code-server 套件是 vscode 的線上版
昨天也有參與一些討論, 所以今天官方也有釋放出 docker 的版本
接下來就嘗試三種使用 code-server 的方式
方式 1: 使用 container 的方式
- 好處是不需要輸入密碼, 直接使用
- 可能要從 terminal 安裝 python 套件
在有 container 環境 ( docker / podman ) 底下
執行 docker run 指令
> docker run -p 8443:8443 -v "${PWD}:/root/project" codercom/code-server code-server --allow-http --no-auth
執行之後在 Firefox 可以正常連線
在 Google Chrome 則是不行
Notes:
- 昨天晚上也有嘗試與其他的網友打包 Docker image, 後來大家發現 code-server 對net-tools 有相依性, 所以如果是自己打包請注意要安裝 net-tools
方式 2: 使用實體機器
OS: openSUSE Leap 15
Code-server: 1.31.0-20
下載套件
我是下載 code-server-1.31.0-20-x86_64-linux.tar.gz
解壓縮檔案
> tar zxvf code-server-1.31.0-20-x86_64-linux.tar.gz
進入目錄
> cd code-server-1.31.0-20-x86_64-linux/
執行 code-server 然後也可以使用 -p 指定 listen port, 這邊以 port 8000 為例
> sudo ./code-server -p 8000
[sudo] password for root:
INFO code-server v1.0.0
INFO Additional documentation: http://github.com/codercom/code-server
INFO Initializing {"data-dir":"/root/.code-server","working-dir":"/home/sakana/Downloads/code-server-1.31.0-20-x86_64-linux","log-dir":"/root/.code-server/logs/20190307034954898"}
INFO Starting webserver... {"host":"0.0.0.0","port":8000}
WARN No certificate specified. This could be insecure.
WARN Documentation on securing your setup: https://coder.com/docs
INFO
INFO Password: VsEamUzQLfnv
INFO
INFO Started (click the link below to open):
INFO http://localhost:8000/
INFO
INFO Starting shared process [1/5]...
INFO Connected to shared process
開啟瀏覽器 http://localhost:8000
會被要求輸入密碼, 輸入執行過程中帶出的密碼
方式 3: In Microsoft Azure
OS: openSUSE Leap 15 in Azure
Code-server: 1.31.0-20
在 Azure 上面建立 linux, 我是用 openSUSE Leap 15
使用 ssh 連入 VM
切換 root
> sudo su -
在 Azure 上面其實可以使用 container 或是 套件執行的方式
但是為了之後使用方便, 我是使用 container 的方式
Azure 上面的 openSUSE Leap 其實已經安裝了 docker, 只是沒有啟動
檢查相關資訊
# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: http://docs.docker.com
啟動 docker
# systemctl start docker
設定開機啟動 docker
# systemctl enable docker
觀察相關資訊
# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2019-03-07 04:14:26 UTC; 15s ago
執行 docker run 指令 測試
> docker run -p 8443:8443 -v "${PWD}:/root/project" codercom/code-server code-server --allow-http --no-auth
接下來到 VM 的 網路 -- > 新增輸入連接阜
如果只是要提供一個服務, 就可以考慮開單一 port
這邊我建立一個安全群組開放 port 8443 ~ port 8500
輸入 port 範圍 -- > 新增
開啟瀏覽器 http://SERVER_IP:8443
單一 container 沒問題, 來試試看開多個吧
寫一個簡單的 shell script 來開 15 個 code-server
以下是初步的內容
# cat create_15_code-server.sh
#!/bin/bash
for (( i=8444 ; i < 8460 ; i=i+1 ))
do
# sudo docker run -p $i:8443 -v "${PWD}:/root/project" codercom/code-server code-server --allow-http --no-auth
sudo docker run -p $i:8443 codercom/code-server code-server --allow-http --no-auth &
done
- 我把 ${PWD} 拿掉, 因為不想要讓多個 code-server 的東西放在同一個資料夾, 會混亂
- 執行的時候使用背景執行, 但是沒有去掉 STDOUT, 便於觀察
- 需要很多記憶體, 如果一次執行多個, 記憶體不夠會死掉 :)
觀察資訊
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
85f909b6192e codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8449->8443/tcp jolly_bhaskara
817e39144c05 codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8456->8443/tcp affectionate_euclid
4996dbd151ff codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8448->8443/tcp hopeful_borg
d1fd0cdc3f0f codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8445->8443/tcp thirsty_stonebraker
e857dc22c78e codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8452->8443/tcp compassionate_euler
1d96d9e094df codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8447->8443/tcp suspicious_thompson
43ec9205e208 codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8458->8443/tcp vibrant_roentgen
7abd20eb6c4e codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8455->8443/tcp brave_roentgen
4bc3b6e2b912 codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8444->8443/tcp eager_jones
4ede04411909 codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8457->8443/tcp eager_yalow
89b11f5918fd codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8459->8443/tcp agitated_benz
037083a1def1 codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8453->8443/tcp flamboyant_hypatia
b6f37bfb300f codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8450->8443/tcp dreamy_mestorf
2dae87bcd325 codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8451->8443/tcp cocky_haibt
c87637961140 codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8454->8443/tcp vibrant_volhard
251f464672e9 codercom/code-server "code-server --all..." 9 minutes ago Up 9 minutes 0.0.0.0:8446->8443/tcp wonderful_boyd
記憶體用量參考
# free -g
total used free shared buff/cache available
Mem: 15 8 6 0 0 6
Swap: 0 0 0
開啟瀏覽器 http://SERVER_IP:8444 ~ http://SERVER_IP:8459
這樣的方式如果以後要弄個 workshop 或讀書會
也可以當成臨時性的線上編輯器 :p
~ enjoy it
沒有留言:
張貼留言