Docker daemon.json 設定非加密的 Protocol

 

  • 隨手紀錄一下工作上遇到問題。
  • OS : Ubuntu 18.04
  • Docker version : 20.04

事情緣由

在已經可以透過Jenkins 把專案打包成 docker image了剩下就是要把這個 image 丟到內部 Team 自己架的 Harbor裡面。但是當我自己在 Terminal 使用 docker 的command 要登入 Harbor的時候就出現以下的錯誤資訊:

root@:~# docker login 192.168.1.10:9527
Username: admin
Password:
Error response from daemon: Get "https://192.168.1.10:9527/v2/": http: server gave HTTP response to HTTPS client

這邊有趣的是公司內部的 Harbor 是沒有用 Https 的憑證,看起來docker 的login 預設是要走 Https 的 protocol 於是上網找了一下便在官網StackOver flow 找到解法。 


解法

  1. /etc/docker/ 下使用root 建立 daemon.json
  2. 使用 root 在daemon.json 裡面加入以下設定

    { "insecure-registries":["192.168.1.10:9527"]
    }
  3. 重起docker
    $sudo systemctl daemon-reload
    $sudo systemctl restart docker
這樣子就可以使用非加密的Protocol 去 Login Harbor 。

 

留言