天天看點

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建

  • 一、本地容器倉庫加密認證
    • 加密
    • 認證
  • 二、harbor容器倉庫

一、本地容器倉庫加密認證

加密

建立加密認證的密鑰

建立目錄,儲存認證和鑰匙

mkdir -p certs
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

生成密鑰

openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/westos.org.key -x509 -days 365 -out certs/westos.org.crt
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

解析hyl.westos.org

vim /etc/hosts

cat /etc/hosts

172.25.9.1      server1 hyl.westos.org
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

檢視密鑰和認證整數

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

拉起容器,

docker run -d --name registry -v /opt/registry:/var/lib/registry -p 443:443 -v "$(pwd)"/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt -e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key  registry
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

檢視容器是否啟動

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

檢視容器網絡端口映射

docker port registry
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

标記重命名nginx并歸類到本地hyl.westos.org倉庫中

docker tag nginx:latest hyl.westos.org/nginx:latest
           

推行上傳

docker push hyl.westos.org/nginx:latest
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

報錯原因,讀取不到認證,

将認證移動到指定目錄

cd /etc/docker/
ls
mkdir certs.d
cd certs.d/
mkdir hyl.westos.org
cd hyl.westos.org/
cp ~/certs/westos.org.crt ca.crt
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

删除,重新标記上傳,内容依然存在

docker rmi hyl.westos.org/nginx

docker tag nginx:latest hyl.westos.org/nginx:latest
docker push hyl.westos.org/nginx:latest
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

測試檢視上傳的内容

curl -k https://hyl.westos.org/v2/game2048/tags/list
curl -k https://hyl.westos.org/v2/_catalog
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

認證

家目錄下建立認證目錄并進入

mkdir auth
cd auth/
           

安裝生成認證的軟體httpd-tools

yum install -y httpd-tools
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

檢視用法

htpasswd --help
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

為admin使用者和hyl使用者添加認證資訊和密碼

htpasswd -Bc auth/htpasswd admin
htpasswd -B auth/htpasswd hyl
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

檢視已經生成的認證

cat auth/htpasswd
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

删除之前的倉庫資訊

docker ps
docker rm -f registry
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

重新拉起倉庫容器

docker run -d --name registry -v /opt/registry:/var/lib/registry -p 443:443 -v "$(pwd)"/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt -e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key -v "$(pwd)"/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd  registry
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

檢視容器程序是否開啟

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

檢視日志,啟動無異常

docker logs registry
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

注意:

倉庫認證後,上傳下載下傳前需要登陸

未login之前pull&push顯示未認證

docker pull hyl.westos.org/nginx
docker push hyl.westos.org/nginx
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

login後可以拉取并推送,也可以檢視認證

登陸認證

docker login hyl.westos.org
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫
docker push hyl.westos.org/nginx
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

檢視認證資訊

cat /root/.docker/config.json
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

退出後,認證資訊消失

docker logout hyl.westos.org
cat /root/.docker/config.json
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

server2:遠端拉取server1本地倉庫的内容

安裝docker,并配置取消warning

yum install -y docker-ce
systemctl enable --now docker
docker info
vim /etc/sysctl.d/docker.conf
sysctl --system
docker info
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

修改本地解析

vim /etc/hosts
cat /etc/hosts
           
172.25.9.1      server1 hyl.westos.org
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

未login之前pull會報錯顯示未認證

docker pull hyl.westos.org/nginx
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

解析太慢可修改解析到8.8.4.4

将server1的認證資訊傳給server2

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

認證登陸

docker login hyl.westos.org
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

認證後拉取無異常

docker pull hyl.westos.org/nginx
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

二、harbor容器倉庫

docker-compose : 主要用于在單機層面如何管控多個伺服器

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

修改harbor配置檔案

cd /usr/local/harbor/

vim harbor.yml
           
hostname: hyl.westos.org
...

  certificate: /data/certs/westos.org.crt
  private_key: /data/certs/westos.org.key

harbor_admin_password: westos

           

将server1的認證資訊移動到/data/中

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

使用腳本安裝并啟動harbor

sh install.sh
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

安裝啟動成功提示

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

檢視是否開啟

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

浏覽器通路:172.25.9.1/harbor

也可以解析到hyl.westos.org中

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

網頁通路内容:

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

指令行,按照amdin管理使用者進入

docker login hyl.westos.org
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

上傳項目到library

docker tag nginx:latest hyl.westos.org/library/nginx:latest
docker push hyl.westos.org/library/nginx:latest
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

可以在網頁中檢視日志并且在library中找到項目

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

添加預設倉庫路徑

cd /etc/docker/
vim daemon.json
systemctl reload docker.service
cat daemon.json
           
{
  "registry-mirrors": ["https://hyl.westos.org"]
}
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

可以檢視到新的添加

docker info
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

server2進行同樣操作并測試

将.json傳給server2

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

server2:

cd /etc/docker/

cat daemon.json

{
  "registry-mirrors": ["https://hyl.westos.org"]
}

           

重新整理docker,讀取.json檔案

systemctl reload docker.service
docker info
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

相對路徑下載下傳nginx

docker pull nginx
docker images
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

網頁檢視下載下傳日志:

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

删除後可以直接run 拉取倉庫的nginx

docker rmi nginx
docker images
docker run -d --name demo nginx
docker ps
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

項目維護人員對項目進行管理,首先web添加項目westos和項目維護人員hyl。

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

添加使用者hyl

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

添加使用者到項目成員

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

添加鏡像到westos項目中

docker tag game2048:latest hyl.westos.org/westos/game2048:latest
docker push hyl.westos.org/westos/game2048:latest
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

以hyl的使用者登陸,拉取鏡像

docker login hyl.westos.org
docker pull hyl.westos.org/westos/game2048:latest
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

web界面檢視日志

企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

docker logout hyl.westos.org

docker login hyl.westos.org

docker logout hyl.westos.org

證書比對,

/etc/docker/certs.d/hyl.westos.org/ca.crt 必須與/data/certs/westos.org.crt 保持一緻。

若修改其一,另一個也得同步修改

其餘功能:

harbor倉庫簽名,掃描,啟用docker内容信任,部署根證書,不再一一展示,可檢視官方文檔進行結合web操作即可

重新安裝harbor步驟

1.先down掉

docker-compose down
           
企業運維實戰--最全Docker學習筆記2.本地容器倉庫加密認證、harbor遠端容器倉庫搭建一、本地容器倉庫加密認證二、harbor容器倉庫

2.sh install.sh --with+想添加的參數