Docker私有倉庫搭載教程

#Docker私有倉庫搭載教程

最近領導叫我搭一個公司內部使用的鏡像庫,在網上找了各類資料,遇到了很多問題,東拼西湊最後可算是能夠了。把本身建倉庫的過程總結一下,分享一下,幫助一下和我同樣的新手html

本教程全部內容均基於CentOS 7, 使用其餘發行版的朋友,注意一下幾個文件的位置,其餘通常都oknode

##下載 source 並生成 certificatesgit

  1. 安裝 opensslgitgithub

    # yum install -y openssl git
  2. 修改 openssl 配置文件 openssl.cnf (本身在機子上全局搜索一下吧,不一樣的系統不同的)web

    添加 subjectAltName = IP:[hostip][ v3_ca ] 標籤下( hostip 是機子的ip)docker

    ...
         [ v3_ca]
         subjectAltName = IP:[hostip]
         ...
  3. 下載 Registry 源碼服務器

    # git clone https://github.com/docker/distribution.git ./distribution
  4. 進入 distribution 目錄dom

    # cd distribution
  5. 新建 certs 子目錄ui

    # mkdir certs
  6. 使用SSL生成自簽名證書debug

    # openssl req \
         -newkey rsa:2048 -nodes -keyout certs/domain.key \
    
         -x509 -days 365 -out certs/domain.crt

此命令將提示你回答一些基本信息,用於建立證書,可選擇不填

能夠把domain換成你想要的名字

當你構建這個 Container 時,certs 目錄及其內容也會自動被複制

##將 TLS 加入配置

  1. 編輯 ./cmd/registry/config-dev.yml 文件(具體要視Dockerfile而定,舊一點的 Registry 版本也會是config.yml)

    # vi ./cmd/registry/config-dev.yml
  2. 定位到 http 區塊

    http:
     	addr: :5000
     	debug:
     	addr: localhost:5001
     	headers:
     		X-Content-Type-Options: [nosniff]
  3. 給服務器的自簽名證書新增一個 tls 區塊

    http:
     	addr: :5000
     	debug:
     	addr: localhost:5001
     	headers:
     		X-Content-Type-Options: [nosniff]
     	tls:
     		certificate: /go/src/github.com/docker/distribution/certs/Arges.crt
     		key: /go/src/github.com/docker/distribution/certs/Arges.key
  4. 保存關閉文件

##構建並運行 Registry 鏡像

  1. 構建你的 Registry 鏡像

    # docker build . -t secure_registry
  2. 運行鏡像

    # docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/tmp/registry  -p 5000:5000 secure_registry

##解決ssl認證問題

certs 文件夾下 *.crt 文件發送給要推送鏡像的主機

domain.crt 加入到 /etc/pki/tls/certs/ca-bundle.crt 內 (和系統有關,不必定在這個位置,不肯定的話就搜索一下)

# cat domain.crt >> /etc/pki/tls/certs/ca-bundle.crt

重啓docker

# systemctl restart docker

大體就這樣了,有什麼問題儘管提問,雖然我不必定會

參考資料: 部署 Docker Registry 服務搭建docker-registry時使用自簽名ssl證書認證問題

相關文章
相關標籤/搜索