Docker:我的镜像去哪了

背景

最近有项目中要用到nacos,因此就打算在本地先装个nacos玩玩。怎么装呢?当然使用docker了。既方便又简单。说实话自从装了docker之后,我这用了3年时间的ThinkPad着实有点卡。因此也有好长时间没运行过docker了。如果你还不会在windows下安装docker,请看以下两篇文章:

问题

当我启动docker后,打开cmd窗口,输入docker images。奇怪的事情发生了,

没有任何镜像,这不应该啊。以前pull过两个镜像,一个是hello-world,另一个是mysql:8.0。
可能是镜像路径错了,打开原来的文章,看了看配置,
然后根据以前设置的settings修改。

settings->daemon

重启后镜像回来了。

然后一顿操作,nacos装好了,完事。

第二天继续打开docker,运行我的nacos,准备继续研究一波nacos。

怪事请!我的mysql 和 nacos 的镜像又没了,只剩下一个hello-world。

继续打开settings->daemon,发现没什么变化,配置文件也都跟昨天的一样。

解决

仔细看了看,发现experimental这个参数的值变成false了。

难道是这个参数的问题?改成true试试。

你还别说,真的成功了。镜像又回来了。

什么情况?

网上搜了一下午也没找到相关的资料。

只能去官网查看一波了。

https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file

在上面找到了一段描述:

The --metrics-addr option takes a tcp address to serve the metrics API. This feature is still experimental, therefore, the daemon must be running in experimental mode for this feature to work.

意思大概是说:--metrics-addr需要一个tcp地址来运行metrics API。 此功能仍处于试验阶段,因此,the daemon必须在试验模式下运行才能起作用。

关于这个--metrics-addr也有一段相关解释:

To serve the metrics API on localhost:9323 you would specify --metrics-addr 127.0.0.1:9323, allowing you to make requests on the API at 127.0.0.1:9323/metrics to receive metrics in the prometheus format.

我觉得应该是docker容器内的镜像启动后默认使用localhost去访问的,如果你想使用ip去访问,则需要使用这个--metrics-addr。

一般情况下,我们肯定不仅仅是在本地使用localhost去访问服务的,而是在其他地方使用ip来访问这个服务。

docker研究尚浅,仅可做为参考,如果有研究过docker的大佬,可以留言交流。

猜你喜欢

转载自www.cnblogs.com/zhixie/p/12718483.html