繼上次分享後,有讀者留言問 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】