亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker的Registry私有倉庫如何搭建

發布時間:2022-05-26 16:24:55 來源:億速云 閱讀:191 作者:iii 欄目:大數據

本文小編為大家詳細介紹“Docker的Registry私有倉庫如何搭建”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Docker的Registry私有倉庫如何搭建”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

本次搭建

docker-registry server (dev) (v0.9.0)

添加docker用戶和目錄

為了安全起見,我們可以添加一個用戶docker,使用這個非root用戶來允許docker registry程序,同時指定好docker鏡像的存儲位置,本處指定為/home/docker_registry目錄

useradd docker
mkdir -p /home/docker_registry
chown -r docker.docker /home/docker_registry/

 從github克隆最新版本registry, 進入這個目錄下的config子目錄,從模板復制一個配置文件出來:

git clone https://github.com/docker/docker-registry.git
cd docker-registry/config
cp config_sample.yml config.yml

此時可以修改這個config.yml配置文件,需要注意修改以下的兩個地方:

#配置sqlite數據庫位置
sqlalchemy_index_database: _env:sqlalchemy_index_database:sqlite:////home/docker_registry/docker-registry.db
#配置本地存儲位置
local: &local
  storage: local
  storage_path: _env:storage_path:/home/docker_registry

安裝一些必要軟件包和一些 docker-registry 需要用到的 python 工具和庫:

apt-get update
apt-get install build-essential python-dev liblzma-dev libevent-dev python-pip libssl-dev

使用apt-get安裝軟件包時經常會提示讓你插入netinst的光盤:

media change: please insert the disc labeled

當沒有時就無法進行安裝了, 這時可以打開文件/etc/apt/sources.list文件,注釋掉cdrom那一行,

然后再執行apt-get update更新下deb倉庫,

這樣以后再使用apt-get安裝時就不會再搜尋cdrom了

修改hosts文件加上域名

vim /etc/hosts
127.0.0.1 docker.registry.com

安裝nginx

apt-get install nginx
#配置nginx config
vim /etc/nginx/nginx.conf
user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
  worker_connections 768;
  # multi_accept on;
}

http {

  ##
  # basic settings
  ##

  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  types_hash_max_size 2048;
  # server_tokens off;

  # server_names_hash_bucket_size 64;
  # server_name_in_redirect off;

  include /etc/nginx/mime.types;
  default_type application/octet-stream;

  ##
  # logging settings
  ##

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  ##
  # gzip settings
  ##

  gzip on;
  gzip_disable "msie6";

  # gzip_vary on;
  # gzip_proxied any;
  # gzip_comp_level 6;
  # gzip_buffers 16 8k;
  # gzip_http_version 1.1;
  # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

  ##
  # nginx-naxsi config
  ##
  # uncomment it if you installed nginx-naxsi
  ##

  #include /etc/nginx/naxsi_core.rules;

  ##
  # nginx-passenger config
  ##
  # uncomment it if you installed nginx-passenger
  ##
  
  #passenger_root /usr;
  #passenger_ruby /usr/bin/ruby;

  ##
  # virtual host configs
  ##

  include /etc/nginx/conf.d/*.conf;
  include /etc/nginx/sites-enabled/*;
  
  upstream docker-registry {
   server localhost:5000;
  }

  server {
   listen 80;
   server_name docker.registry.com;
 
   proxy_set_header host    $http_host;  # required for docker client's sake
   proxy_set_header x-real-ip $remote_addr; # pass on real client's ip
 
   client_max_body_size 0; # disable any limits to avoid http 413 for large image uploads

   # required to avoid http 411: see issue #1486 (https://github.com/dotcloud/docker/issues/1486)
   chunked_transfer_encoding on;
   #   
   location / {
    proxy_pass http://docker-registry;
   }
  }
}

啟動nginx

service nginx start

訪問瀏覽器測試

http://192.168.124.130/


 Docker的Registry私有倉庫如何搭建

安裝python依賴

cd /opt/docker-registry
pip install .

若出現:cannot connect to proxy. socket error: [errno -2] name or service not known.

手動安裝依賴包 加代理參數

pip install -i http://pypi.v2ex.com/simple .
#注銷下面的 pip install . 安裝全部
--pip install -i http://pypi.v2ex.com/simple gunicorn

建立軟連接

ln -s /usr/local/bin/gunicorn /usr/bin/gunicorn

nginx啟動之后,使用docker用戶執行以下的命令可以測試啟動:

gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 8 --max-requests 100 docker_registry.wsgi:application
訪問瀏覽器

http://docker.registry.com

Docker的Registry私有倉庫如何搭建

如果看到以下的輸出,則表明docker registry安裝成功

給目錄下數據庫賦權限,不然上傳文件時會不能寫數據庫

chmod 777 /home/docker_registry/repositories/docker-registry.db

使用supervisord來進行進程的監控

apt-get install supervisor

配置supervisor [docker-registry]

vim /etc/supervisor/conf.d/docker-registry.conf

[program:docker-registry]
directory=/opt/docker-registry
#使用docker用戶
user=docker
command=/usr/local/bin/gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 8 --max-requests 100 --graceful-timeout 3600 -t 3600 docker_registry.wsgi:application 
redirect_stderr=true
stderr_logfile=none
stdout_logfile=/var/log/supervisor/docker-registry.log
autostart=true
autorestart=true
#重新加載 supervisor 配置:
supervisorctl
supervisor> reread
docker-registry: available
supervisor> update
docker-registry: added process group
supervisor> status
docker-registry  running  pid 4371, uptime 0:00:01

查看端口占用

netstat -apn | grep 5000

啟動重啟

service supervisor start
#/etc/init.d/supervisord {start|stop|restart|force-reload|status|force-stop}

讀到這里,這篇“Docker的Registry私有倉庫如何搭建”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三江| 合水县| 都昌县| 乐都县| 板桥市| 磴口县| 渭源县| 江山市| 清涧县| 柘城县| 香港| 昌宁县| 大田县| 台湾省| 江陵县| 天峻县| 宣化县| 盐城市| 商河县| 阳东县| 临高县| 安国市| 武邑县| 通榆县| 福建省| 九江市| 河曲县| 新巴尔虎左旗| 渑池县| 仁寿县| 东平县| 博兴县| 崇仁县| 鹤岗市| 泾阳县| 松潘县| 平阳县| 若羌县| 田阳县| 鄂伦春自治旗| 固安县|