在服务器中搭建远程集成开发环境
未完待续
服务器配置
在容器中使用 Linux 系统(以 Ubuntu 为例)
- 开启 IPV4 转发(可选)
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
- 拉取镜像并运行
$ sudo docker pull ubuntu $ sudo docker run -p 5401:22 -ti ubuntu bash
- 更新包管理仓库
# apt update && apt upgrade -y
- 安装 ssh 和 vim
# apt install openssh-server openssh-client -y && apt install vim && service ssh start
PC 端配置
配置 VSCode
- 安装 Remote-SSH 插件,插件配置具体请看这篇文章。
- 安装 Docker 插件。
- 安装适用于 Windows 10 的 OpenSSH
3.1 OpenSSH 版本查询
3.2 安装 OpenSSH 客户端$ Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
$ Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
- 生成用于远程登陆的公私钥(已安装可略过)
- 安装 ncat
- 编辑
.ssh\config
配置文件Host akanization User cubat HostName 10.64.x.xxx Port 22 IdentityFile c:\Users\cubat\.ssh\id_rsa ProxyCommand C:\bin\nmap-7.70\ncat.exe --proxy-type http --proxy xxx.xxx.xxx.xxx:xxx %h %p
一些技巧
进入容器和退出容器
- 进入容器
$ sudo docker attach [container_id]
- 退出容器(容器仍在后台运行)
Ctrl + p; Ctrl + q
挂载磁盘目录到容器,使终端呈现彩色
- 挂载磁盘空间
$ sudo docker run -it -v /AAA:/BBB ubuntu bash
- 使终端彩色输出
$ sudo echo PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35;01m\]\u\[\033[00;00;01m\]@\[\033[01;35;01m\]\h\[\033[00;31;01m\]:\[\033[00;00;01m\]\w \[\033[01;32;01m\]\$ \[\033[01;01;01m\]' >> ~/.bashrc
容器内的镜像可使用 Systemd 命令
- 构建可使用 init 的容器
$ sudo docker run -tid -p 80:80 -p 22:22 --privilaged --name centos-2 centos:latest /usr/sbin/init
- 进入容器尝试是否可用
$ sudo docker exec -it centos-2 bash # systemctl
重建 Docker0 网络
- 关闭 Docker 进程组
$ sudo pkill docker
- 清空 Iptables 转发规则
$ sudo iptables -t nat -F
- 关闭 Docker0 接口
$ sudo ifconfig docker0 down
- 删除 Docker0 接口
$ sudo brctl delbr docker0
- 重启 Docker 并查看是否可用
$ sudo systemctl restart docker && sudo docker ps -a
评论
发表评论