好用。你可以在远程 linux server 里加一个 docker 容器,内置 SSH Server ,然后 SSH 到容器里远程开发。多个员工可以共用一台 linux server 做远程开发,互不干扰。
Dockerfile -----
FROM debian:11
RUN sed -i 's/
deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list \
&& apt update \
&& apt install -y git openssh-server sudo \
&& echo "PasswordAuthentication no" >> /etc/ssh/sshd_config \
&& service ssh start
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
---------
然后运行以下命令生成 docker 镜像
docker build . -t vsserver:latest
生成容器的 compose 文件 -------
version: "3.9"
services:
gitserver:
image: vsserver:latest
container_name: vsserver_1
restart: unless-stopped
volumes:
- /docker/vsserver_1/dev:/dev
- /docker/vsserver_1/ssh:/etc/ssh
- /docker/vsserver_1/vscode-server:/root/.vscode-server
- /docker/vsserver_1/authorized_keys:/root/.ssh/authorized_keys:ro
- /etc/localtime:/etc/localtime:ro
ports:
- 1022:22
----------------
注意:
(1) 第一次生成容器时,不要加"- /docker/vsserver_1/ssh:/etc/ssh",把容器里的/etc/ssh 复制到主机的/docker/vsserver_1/ssh
(2) 开发代码放在容器里的/dev 目录,对应主机的/docker/vsserver_1/dev
(3) 登录容器 ssh 的 pubkey 放在/docker/vsserver_1/authorized_keys
(4) 在同一台服务器上,可以为多个程序员设置不同的容器,互不干扰
(5) 定期备份主机的/docker 目录