你想用HTTP运行Docker Registry,说白了就是打造一个没有SSL加密的Insecure Registry,对吧?好,话不多说,我们开始。

第一步,咱们得创建一个配置文件。首先,进入Docker服务的配置目录,这里我假设你用的是Ubuntu系统,配置目录就在 /etc/docker/下。进去后你要做的就是新建一个 daemon.json文件,可以这么操作:

$ sudo nano /etc/docker/daemon.json

简单粗暴地把这个文件一把火烧出来。接着,打开的这个文件中,就可以放入你的配置了。暂且假定你的私有Registry服务器地址是 my-registry.my-domain.com,那你就可以直接这么写:

{
  "insecure-registries" : ["my-registry.my-domain.com"]
}

这段JSON代码就跟它的名字一样直白,告诉Docker:“管他三七二十一,你遇到'my-registry.my-domain.com'这个地址,就别拿https给我扣帽子,我就想赤脚走路。”

完事后别忘了保存退出。当然,如果你使用其他系统,配置文件的位置可能会不一样,但只要找到了就大同小异。

第二步,我们得让Docker知道我们动了手脚。我们对它做过哪些修改,也是需要告诉它的。那就重启一下Docker服务,让它重新读取一遍配置:

$ sudo service docker restart

一秒钟万年,就是这个感觉。一行命令下去,Docker就明白了你的真意。不得不说,这有种一语道破天机的霸气。

以上都做完了以后,当你再次向这个私有Registry发起请求,Docker就不会因为没有SSL证书而报错了。相反,它会如你所愿,毫无防备地接受所有的HTTP请求。

当然,要提醒你的是:这种做法虽然“方便”,但安全隐患大大的。你把脚上的“保护套”去掉以后,所有的网络请求的内容就都暴露在网络上了。这种状态就好比在冬天没有穿衣服直接跑出去,万一风大就……

另外,你把保护性的设施去掉以后,Docker的数据交换就完全暴露在你的内网或者公网上,那些有心人甚至可能会伺机而动。所以,除非必要,或者你确保自己的Registry服务器只在安全的内网环境运行,否则你还是尽量按照官方推荐的方式——使用HTTPS,来安全地执行你的操作。

不过,既然你选择了这条道路,我相信你身上肯定肩负了些什么重任,那就祝你好运,朝着星辰大海出发吧!

以上,就是如何配置Insecure Docker Registry以支持http请求的全部内容了。我希望这可以帮到你解决问题。要记住,科技的力量是巨大的,但使用科技的时候,安全永远是第一位的。

云服务器推荐

蓝易云国内/海外高防云服务器推荐


海外免备案云服务器链接:www.tsyvps.com

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。


百度搜索:蓝易云

蓝易云是一家专注于香港及国内数据中心服务的提供商,提供高质量的服务器租用和云计算服务、包括免备案香港服务器、香港CN2、美国服务器、海外高防服务器、国内高防服务器、香港VPS等。致力于为用户提供稳定,快速的网络连接和优质的客户体验。
最后修改:2023 年 10 月 25 日
如果觉得我的文章对你有用,请随意赞赏