记录一下Docker Desktop遇到的问题

226 阅读2分钟

记录一下在使用Docker Desktop的过程中出现的几个问题

  1. 启动后显示Docker Desktop starting,紧接着出现Docker Desktop stopping

1.png

2.png

这个问题出现的原因有可能是因为未开启虚拟机平台。需要打开虚拟机平台(也可能还需要打开适用于Linux的Windows子系统,建议也打开),等待计算机重启即可。

3.png

  1. 在启动Container的时候又出现了几个问题,第一个问题是HTTP Code 500端口占用。

4.png

这个问题的出现很可能是使用了Windows预留的端口,也有可能是被某些应用占用了这个端口,可以通过Powershell(cmd)来查看端口的占用情况(虽然这里的问题并不是这个)。

netstat -ano | findstr "80"

5.png

netsh interface ipv4 show excludedportrange protocol=tcp 

6.png

如果是端口被占用,可以通过杀掉应用来解决,如果是端口保留,则必须更换别的端口了。

但是我实际遇到的问题是未添加启动参数,这里的-it至少要有一个。(要记一记Docker的参数了

docker run -it image
  1. 在使用的过程中,我发现在一开始设定的端口并不够用,我想在使用的过程中再继续添加别的端口,于是在网上找了许久,绝大多数都不是在docker desktop(Windows)下的,不过最后还是找到了。
\wsl.localhost\docker-desktop-data\version-pack-data\community\docker\containers

7.png

在这个路径下,我们可以看到我们所创建的Containers。

找到我们需要修改的Container,进入文件夹,找到hostconfig.json文件。

8.png

修改PortBindings项,

  "PortBindings": { "80/tcp": [{ "HostIp": "", "HostPort": "80" }] },

打开另一个文件config.v2.json

9.png

修改ExposedPorts项

"ExposedPorts": { "80/tcp": {} },

如果没有这一项的话请自己添加。

这里要说两个注意事项:

第一个是修改文件一定要关闭Docker Desktop,不然你会发现文件被重置了。

第二个就是文件如果文档格式化了以后,记得一定要压缩回去,一定要压缩回去,一定要压缩回去。不然你就会发现你的container不见了。