如何在Linux伺服器上建立安全可靠的Docker映像倉庫?
隨著容器技術的快速發展,Docker已經成為了建置和管理容器化應用的常用工具。然而,在實際應用中,如何建立一個安全可靠的Docker映像倉庫卻是一個重要的問題。本文將介紹如何在Linux伺服器上建立一個安全可靠的Docker映像倉庫,並提供程式碼範例以供參考。
首先,需要在Linux伺服器上安裝Docker。可以透過以下命令安裝:
$ sudo apt-get update $ sudo apt-get install docker-ce
安裝完成後,執行以下命令驗證安裝是否成功:
$ docker version
$ docker run -d -p 5000:5000 --name registry registry:latest啟動完成後,可以透過以下命令驗證Registry是否正常工作:
$ curl http://localhost:5000/v2/_catalog如果傳回空數組
[],表示Registry已經成功運行。
$ sudo apt-get install nginx然後,建立一個用於存放認證資訊的密碼檔案:
$ sudo sh -c "echo -n 'admin:' >> /etc/nginx/.htpasswd" $ sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"建立完成後,需要編輯Nginx設定檔
# /etc/nginx/sites-available/default
server { listen 80; server_name <your-domain-name>; location / { proxy_pass http://localhost:5000; auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; } }
取代
454b098903dd34fa7086458fb3f097b6為你的網域。 儲存設定檔並重新啟動Nginx:$ sudo systemctl restart nginx
$ sudo apt-get install openssl然後,產生私鑰和自簽名憑證:
$ sudo openssl req -newkey rsa:2048 -nodes -keyout registry.key -x509 -days 365 -out registry.crt
產生的
registry.key為私密金鑰文件,
registry.crt為自簽名憑證檔案。 接下來,編輯Nginx設定檔
/etc/nginx/sites-available/default
server { listen 443 ssl; server_name <your-domain-name>; ssl_certificate /path/to/registry.crt; ssl_certificate_key /path/to/registry.key; location / { proxy_pass http://localhost:5000; auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; } }
取代
7812f5abc3beef02219ae84b3350f36d為你的網域。 儲存設定檔並重啟Nginx:$ sudo systemctl restart nginx
$ sudo vi /etc/docker/daemon.json在設定檔中新增以下內容:
{ "insecure-registries": ["<your-domain-name>:5000"] }儲存設定檔並重新啟動Docker服務:
$ sudo systemctl restart docker現在可以使用Docker客戶端與映像倉庫互動了,例如,推送和拉取映像:
$ docker tag image <your-domain-name>:5000/image $ docker push <your-domain-name>:5000/image $ docker pull <your-domain-name>:5000/image以上就是在Linux伺服器上建立安全可靠的Docker映像倉庫的全部步驟和程式碼範例。遵循這些步驟,您可以建立一個安全可靠的Docker映像倉庫,確保容器化應用的可靠性和安全性。 ###
以上是如何在Linux伺服器上建立安全可靠的Docker映像倉庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!