Willson Chen

Stay Hungry, Stay Foolish.

Golang 远程开发

Golang 远程开发

What:在远程服务器上通过 docker 安装 centos7,然后使用 vscode 的 remoteSSH 连接到远程服务器进行开发。
Why:拥有容器化开发环境带来的所有好处,另外可以避免在本地开发机上安装复杂的依赖。

安装 centos7 容器版本

docker search centos #查找 centos 镜像
docker pull centos:7 #拉取
docker images |grep centos #查看已拉取镜像

#运行容器,映射 ssh 端口号到本地端口号,挂载宿主机目录到容器目录
docker run -it --privileged --name centos7-dev -p 2223:22 -v /volume3/docker/centos7-dev/data:/data -d centos:7 /usr/sbin/init
docker ps |grep centos7-dev #查看已运行容器

docker exec -it centos7-dev /bin/bash #进入容器
passwd #修改root密码
useradd -s /bin/bash dev #添加dev用户
passwd dev #修改dev密码
chown -R dev /data #给 dev 添加 data 目录权限

yum install -y openssh-server #安装 ssh
systemctl start sshd #启动 ssh
systemctl status sshd #查看ssh启动状态

yum install -y tzdata #安装时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区为上海时间

安装 git

#用 root 身份
git version #查看 git 版本
yum remove git #如有旧版本先卸载
#安装其他源
yum install -y http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm 
yum install -y git #安装新版本 git

安装 go

#用 root 身份
yum install -y wget #安装 wget

#下载 go,版本号可以更新
wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz
#解压至/usr/local
tar -C /usr/local -zxvf go1.20.6.linux-amd64.tar.gz
#删除安装包
rm -f go1.20.6.linux-amd64.tar.gz

vi /etc/profile #用 vi 编辑 profile 文件
#按 i 在最后添加 export PATH=PATH:/usr/local/go/bin
#按 ESC,输入符号:,再输入 wq 回车保存退出

source /etc/profile #加载配置
echoPATH #确认已添加 PATH

su dev #切换开发者用户,dev 为远程开发用户
#设置 goproxy 为国内镜像
go env -w GOPROXY=https://goproxy.cn,direct

安装 vscode

#配置在mac开发机对容器ssh的免密登录
ssh-keygen -t rsa
ssh-copy-id -p2223 [email protected]

在 Mac 上下载最新的 vscode,并安装 Remote-SSH 扩展。