众所周知,docker配置复杂的环境很方便。
我就用来配置本地的golang环境(先前本机没装好,总是路径不对,干脆使用docker来装),
结果遇到了几个问题,用了半天时间才解决,搜索引擎误我!!!
安装
安装什么的不用我仔细说了把,
我安装的是docker desktop,版本如下
安装好后,打开cmd,输入docker
可以查看有哪些命令,
使用docker pull golang
,可以安装最新版本的golang,
更换国内源
默认源在国外,众所周知的原因,
所以可以在docker desktop的setting中修改registry-mirrors:[]
,示例如下:
我的配置
1 | { |
部分国内源
1 | https://registry.docker-cn.com |
修改配置后,记得点击Apply & Restart
,重启docker。
连接docker的坑
我使用的是jetbrains家的Goland
,不要问,问就是牛逼。
新建项目,新建一个hello.go
,
1 | package go_test |
肯定不能直接点运行呀,会报错。
所以,准备连接本地的docker,
这个时候就是我踩坑的时候了,
图中连接中...
,过了一会儿,显示的是,
1 | 无法连接:io.netty.channel.AbstractChannel$AnnotatedConnectException:Connection refused:no further |
解决办法
打开power shell,
输入Test-NetConnection -ComputerName localhost -Port 2375
,测试连接本地Docker端口
输出的是,
1 | 警告: TCP connect to (::1 : 2375) failed |
然后,
找到控制面板\网络和 Internet\网络连接
,
除了你正在使用的网络,其他全部禁用,如图
然后重启docker desktop,再测试一波。
1 | 警告: TCP connect to (::1 : 2375) failed |
相信你也猜到了,这是你之前开过虚拟机造成的:)
运行go程序
接下来的操作就很常规了,
编辑运行/调试配置,点击+
,创建Docker镜像,服务器已经自动匹配上了刚才连接成功的本地docker,只需要输入image ID or name
即可,然后先点击“应用”,再确定,就可以运行demo了。
PS:关于image ID or name
,可以打开cmd,输入docker images
查看。