背景

说起开发工具Goland,做Go语言开发的同学应该都不陌生,但由于大部分同学的电脑资源有限,尤其是公司里配备的电脑,在本地使用Goland多多少少有些不够顺畅。

镜像获取

Goland网页版功能是jetbrains官方[2]提供的Docker镜像,所以内网配置的前提是先从外网拉取到需要的镜像,然后导出镜像包并拷贝到内网中:

docker pull registry.jetbrains.team/p/prj/containers/projector-goland docker save -o projector-goland.tar registry.jetbrains.team/p/prj/containers/projector-goland

注:如果无法拉取官方的镜像,可以在公众号后台回复 docker goland 即可获取goland 网页版镜像。

服务启动

拿到镜像后,找一个安装了docker的服务器或虚机,使用docker run命令启动:

docker run -itd \ -u root \ -p 8887:8887 \ --net=host \ --privileged \ -v /home/admin/goland-dir:/root \ -v /etc/localtime:/etc/localtime \ -v /home/admin/goland-dir/sources.list:/etc/apt/sources.list \ --name goland \ --restart always \ registry.jetbrains.team/p/prj/containers/projector-goland

(重要)部分参数说明:

指定用户:可选,默认不指定用户,容器启动时会使用一个非root用户projector-user,这里使用root用户启动是为了避免后续操作的权限问题;指定主机网络:可选,方便使用代理拉取代码,没有代理的话先从外网下载也可以;指定特权模式:可选,方便调试,没有开启的话直接使用GoLand调试会提示权限问题;挂载点1:必选,默认用户下,将/home/projector-user挂载到本地,root用户下直接将root目录挂载到本地;挂载点2:可选,保持容器时间与主机时间一致;挂载点3:可选,配置内网依赖源,方便下载gcc等编译所需的依赖;

浏览器访问

容器正常启动后,在浏览器中通过 JetBrains/projector-client/releaseshttps://jetbrains.github.io/projector-client/mkdocs/latest/ij_user_guide/server_customization/