如何在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
$ 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"
# /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; } }
取代
$ 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; } }
取代
$ sudo systemctl restart nginx
$ sudo vi /etc/docker/daemon.json
{ "insecure-registries": ["<your-domain-name>:5000"] }
$ sudo systemctl restart 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映像倉庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!