1. 程式人生 > 其它 >本地 Docker 啟用 API 並搭建私有倉庫

本地 Docker 啟用 API 並搭建私有倉庫

環境

  • Archlinux

安裝 docker

  • 安裝 docker 及 docker-compose sudo pacman -S docker docker-compose
  • 使用國內源 sudo vim /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}
  • 啟動 docker sudo systemctl start docker
  • 檢視相關版本資訊 sudo docker info

開啟 API

  • 編輯配置 sudo vim /usr/lib/systemd/system/docker.service
...
>>> ExecStart=/usr/bin/dockerd -H fd:// 
# 上行修改為如下,無認證訪問,不安全,如需公網訪問請配置認證
<<< ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
...
  • 重新啟動 daemon sudo systemctl daemon-reload && sudo systemctl restart docker
  • 驗證是否成功啟用 docker -H tcp://127.0.0.1:2375 info

搭建私有倉庫

  • 建立映象儲存路徑 sudo mkdir /opt/registry && cd /opt/registry
  • 建立 docker-compose.yml,該配置未啟用任何認證,如需公網訪問請配置認證,sudo vim docker-compose.yml
registry:
  restart: always
  image: registry:2
  ports:
    - 5000:5000
  volumes:
    - /opt/registry:/var/lib/registry
  • 啟動 docker 映象 sudo docker-compose up -d
  • 上述的倉庫未開啟 HTTPS,預設情況下 docker 將不允許進行訪問,sudo vim /etc/docker/daemon.json
...
"insecure-registries" : 
  [
    "localhost:5000"
]
...
  • 重啟 docker sudo systemctl restart docker