Docker Registry建立自己私有倉庫
阿新 • • 發佈:2019-02-17
docker run -d -p 5000:5000 --name registry registry:2
建立自己映象,或隨便pull一個,用來測試
docker pull centos
tag這個映象目的是讓其指向你的倉庫
docker tag centos localhost:5000/myfirstimage
上傳到倉庫
docker push localhost:5000/myfirstimage
拉取映象
docker pull localhost:5000/myfirstimage
停止容器,刪除資料
docker stop registry && docker rm -v registry
vi /etc/pki/tls/openssl.cnf
CA 目錄下新建兩個檔案。serial 檔案存放證書序列
cd /etc/pki/CA
touch index.txt serial
echo 01 > serial
生成根金鑰
openssl genrsa -out private/cakey.pem 2048
生成根證書
openssl req -new -x509 -key private/cakey.pem -out cacert.pem
可以隨便填,可選的可以不填,必填的要記住,common name 填registry 伺服器域名。
CA伺服器配置就這樣,然後配置docker registry伺服器(這裡是同一臺機器)。
在docker目錄下新建ssl
cd /etc/docker
mkdir ssl
cd ssl
生成ssl金鑰
openssl genrsa -out docker.key 2048
生成證書籤署請求
openssl req -new -key docker.key -out docker.csr
CA根據請求來簽署證書
openssl ca -in docker.csr -out docker.crt
啟動registry.
docker run -d \
--restart=always \
--name registry \
-v /etc/docker/ssl:/certs \
-e REGISTRY_HTTP_ADDR =0.0.0.0:443 \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/docker.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/docker.key \
-p 443:443 \
registry:2
將證書安裝到另一個裝有Docker機器:
先將/etc/pki/CA/newcerts/01.pem 和/etc/pki/CA/cacert.pem (根金鑰) 拷貝到另一臺docker機器。
先將tls-ca-bundle.pem 備份,再把證書匯入到這裡面。
cd /etc/pki/ca-trust/extracted/pem/
mv tls-ca-bundle.pem tls-ca-bundle.pem.bacup
cat /home/tanzhang/01.pem >> tls-ca-bundle.pem
cat /home/tanzhang/cacert.pem >> tls-ca-bundle.pem
編輯hosts
vi /etc/hosts
新增registry 伺服器ip 和 域名
registry.domain.com
然後重啟
再進入機器push image
docker tag centos registry.domain.com/mcentos
docker push registry.domain.com/mcentos