Docker でポート番号とファイルの保存先を分けた code-server を複数作ってみた

例えば、コードを書くトレーニングで使用したり、プロジェクトメンバーが環境依存問題に時間を取られないようにしたり、ネットワーク制約のある環境で開発をしなければいけなかったり、様々な用途が思い当たります。そんな時、仮想マシン上の Docker でポート番号とファイルの保存先を分けた code-server を複数用意できれば解決するのでは、と思い実際に作ってみました。

一つ目の code-server を作成

userno=10443

docker run -d \
  --name=code-server-$userno \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Tokyo \
  -e PASSWORD=password \
  -e SUDO_PASSWORD=password \
  -e DEFAULT_WORKSPACE=/config \
  -p $userno:8443 \
  -v $HOME/work/code-server-$userno:/config \
  --restart always \
  lscr.io/linuxserver/code-server:latest

二つ目の code-server を作成

userno=11443

docker run -d \
  --name=code-server-$userno \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Tokyo \
  -e PASSWORD=password \
  -e SUDO_PASSWORD=password \
  -e DEFAULT_WORKSPACE=/config \
  -p $userno:8443 \
  -v $HOME/work/code-server-$userno:/config \
  --restart always \
  lscr.io/linuxserver/code-server:latest

それぞれの code-server に同時にアクセス

code-server を停止したり削除したりする場合

docker stop code-server-$userno

docker rm code-server-$userno

参考

https://github.com/linuxserver/docker-code-server

タグ: ,