继上次分享后,有读者留言问 dind 使用 insecure-registry 相关的问题。
请教个问题,基于gitlab CI做java项目持续集成,用到了docker in docker, docker build使用的Dockerfile中使用了一个insecure registry,在dind的容器中如何配置insecure registry
我的回复是:
首先, 不推荐使用 insecure registry 毕竟有其固有限制, 如果一定要用的话, 其实在 services 层配置一个 command 就可以,这也是最简单的, 例如:
services:
- name: docker:dind
command: ["--insecure-registry=myregistry:5000"]
由于留言字数的限制,就单独写个小文来回复下。
这个做法实际效果如下:
(Tao) ➜ kubernetes git:(master) ✗ sudo docker run -d --privileged --name dind docker:dind --insecure-registry="myregistry:5000"
8fb68865638ebc65255bb568fbe1fd6b4ed4fca771075d8e55ebbbbdf0aef6d2
(Tao) ➜ kubernetes git:(master) ✗ sudo docker top dind
UID PID PPID C STIME TTY TIME CMD
root 18270 18252 1 11:27 ? 00:00:00 dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --insecure-registry=myregistry:5000
root 18328 18270 0 11:27 ? 00:00:00 docker-containerd --config /var/run/docker/containerd/containerd.toml
当然这样做是可以解决问题,但还是建议不要使用 insecure-registry
毕竟这不是个安全的做法而且也有其限制。限制的部分不是这次的重点,也就不多做解释了。
可以通过下面二维码订阅我的文章公众号【MoeLove】