簡體   English   中英

Artifactory Docker注冊表Docker映像

[英]Artifactory docker registry docker image

我正在使用pro-registry docker image來玩4.13版本的工件

我按照文檔中的建議創建了一個虛擬的docker repo和一個本地的docker repo,並如下更改了nginx conf

log into the running container 
sudo docker exec -i -t containerID# /bin/bash
vi /etc/nginx/conf.d/default.conf


ssl_certificate      /etc/nginx/ssl/demo.pem;
ssl_certificate_key  /etc/nginx/ssl/demo.key;
ssl_session_cache shared:SSL:1m;
ssl_prefer_server_ciphers   on;

server {
        listen 80;
        listen 443  ssl;
        client_max_body_size 2048M;
        location / {
                proxy_set_header Host $host;
                proxy_pass http://localhost:8081/artifactory/;
                proxy_read_timeout 90;
        }
        access_log /var/log/nginx/access.log upstreamlog;
        location /basic_status {
                stub_status on;
                allow all;
                }
}

## Sub domain config for docker repository
server {
  listen 443 ssl;
  listen 80 ;
  server_name my-docker-virtual.art.local art.local;

  if ($http_x_forwarded_proto = '') {
    set $http_x_forwarded_proto  $scheme;
  }
  ## Application specific logs
  access_log /var/log/nginx/docker-access.log;
  error_log /var/log/nginx/docker-error.log;
  rewrite ^/(v1|v2)/(.*) /artifactory/api/docker/my-docker-virtual/$1/$2;
  client_max_body_size 0;
  chunked_transfer_encoding on;
  location /artifactory/ {
    proxy_read_timeout  900;
    proxy_pass_header   Server;
    proxy_cookie_path ~*^/.* /;
    proxy_pass         http://artifactory_lb/artifactory/
    proxy_set_header   X-Artifactory-Override-Base-Url $http_x_forwarded_proto://$host:$server_port/artifactory;
    proxy_set_header    X-Forwarded-Port  $server_port;
    proxy_set_header    X-Forwarded-Proto $http_x_forwarded_proto;
    proxy_set_header    Host              $http_host;
    proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
  }
}

這很棒,我可以執行以下操作

docker login my-docker-virtual.art.local
user
pass
email

docker push my-docker-virtual.art.local/busybox

docker pull busybox

但是,當我更改nginx o以下時

ssl_certificate      /etc/nginx/ssl/demo.pem;
ssl_certificate_key  /etc/nginx/ssl/demo.key;
ssl_session_cache shared:SSL:1m;
ssl_prefer_server_ciphers   on;

server {
        listen 80;
        listen 443  ssl;
        client_max_body_size 2048M;
        location / {
                proxy_set_header Host $host;
                proxy_pass http://localhost:8081/artifactory/;
                proxy_read_timeout 90;
        }
        access_log /var/log/nginx/access.log upstreamlog;
        location /basic_status {
                stub_status on;
                allow all;
                }
}

## Sub domain config for docker repository
server {
  listen 443 ssl;
  listen 80 ;
  server_name my-docker-virtual.art.local art.local;

  if ($http_x_forwarded_proto = '') {
    set $http_x_forwarded_proto  $scheme;
  }
  ## Application specific logs
  access_log /var/log/nginx/docker-access.log;
  error_log /var/log/nginx/docker-error.log;
  rewrite ^/(v1|v2)/(.*) /artifactory/api/docker/wrong-docker-virtual/$1/$2;
  client_max_body_size 0;
  chunked_transfer_encoding on;
  location /artifactory/ {
    proxy_read_timeout  900;
    proxy_pass_header   Server;
    proxy_cookie_path ~*^/.* /;
    proxy_pass         http://localhost:8081/artifactory/
    proxy_set_header   X-Artifactory-Override-Base-Url $http_x_forwarded_proto://$host:$server_port/artifactory;
    proxy_set_header    X-Forwarded-Port  $server_port;
    proxy_set_header    X-Forwarded-Proto $http_x_forwarded_proto;
    proxy_set_header    Host              $http_host;
    proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
  }
}

之后,我重新加載配置

一切仍然可以正常進行,重定向應該失敗。 應該嗎?

請注意,我正在使用Docker映像隨附的自簽名證書

因此,我必須service nginx restart才能看到這些更改

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM