激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - Docker Registry 私有倉庫搭建詳細步驟

Docker Registry 私有倉庫搭建詳細步驟

2020-11-26 23:49saintaxl 服務器知識

這篇文章主要介紹了Docker Registry 私有倉庫搭建的相關資料,需要的朋友可以參考下

Docker  Registry 私有倉庫搭建

官方已經提供了很多版本的 Linux 鏡像,直接從官方倉庫(Public Repositories)下載就可以了。如果考慮到安全性和速度,我們可能會想在自己局域網里架設一個私有倉庫(Private Repositories)來放我們自己的鏡像,Docker-Registry 正是我們需要的工具。

本次搭建

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

添加docker用戶和目錄

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

?
1
2
3
useradd docker
mkdir -p /home/docker_registry
chown -R docker.docker /home/docker_registry/

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

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

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

?
1
2
3
4
5
6
#配置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 工具和庫:

?
1
2
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文件加上域名

?
1
2
vim /etc/hosts
127.0.0.1 docker.registry.com

安裝Nginx

?
1
2
3
apt-get install nginx
#配置Nginx config
vim /etc/nginx/nginx.conf
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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依賴

?
1
2
cd /opt/docker-registry
pip install .

若出現:Cannot connect to proxy. Socket error: [Errno -2] Name or service not known.

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

?
1
2
3
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

?
1
2
3
4
5
6
7
8
9
10
[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
?
1
2
3
4
5
6
7
8
#重新加載 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}

  感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://www.cnblogs.com/saintaxl/p/3982061.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成年人性视频 | 免费视频www在线观看 | xx53xx| 九九午夜 | 一级黄色毛片免费 | 成人性生活视频在线观看 | 欧美高清在线精品一区二区不卡 | 久久精品亚洲欧美日韩精品中文字幕 | a黄毛片 | 伊人午夜视频 | 亚洲精华液久久含羞草 | 91丨九色丨国产在线观看 | 亚洲第一成人在线观看 | 午夜人体 | 第四色成人网 | 日韩大片在线永久观看视频网站免费 | 婷婷久久久久久 | 韩国精品一区二区三区四区五区 | 国产精品自拍av | 国产成人av免费看 | 国产一区二区免费在线观看 | 亚洲成年人免费网站 | 国产精品亚洲欧美一级在线 | 91成人在线免费观看 | 欧美国产第一页 | 亚洲二区免费 | 成年人免费黄色片 | 精品久久久久久 | 亚洲亚色| 人人舔人人插 | 日韩黄在线观看 | 国产精品久久久久影院老司 | 亚洲一区久久久 | 中文日韩欧美 | 国产免费乱淫av | 羞羞网站在线观看入口免费 | 亚洲人成中文字幕在线观看 | 欧美日韩国产成人在线观看 | 成人男女啪啪免费观看网站四虎 | 一本色道久久久888 香蕉视频99 | 午夜热门福利 |