中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何使用docker registry搭建部署docker鏡像庫

發布時間:2021-09-04 11:41:47 來源:億速云 閱讀:187 作者:chen 欄目:云計算

本篇內容介紹了“如何使用docker registry搭建部署docker鏡像庫”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

安裝環境

我使用的是Centos 6.5 x64版的系統,docker registry使用python來編寫,對于系統環境的要求不會很苛刻。

安裝過程

使用yum安裝依賴

在正式安裝前需要安裝幾個依賴,使用yum就可以完成了:

yum install python-devel libevent-devel python-setuptools gcc xz-devel

添加docker用戶和目錄

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

useradd docker
mkdir -p /opt/docker_data/registry
chown -R docker.docker /opt/docker_data/registry

使用easy_install 安裝

由于使用python來編寫,可以直接使用easy_install(或pip)來安裝docker-registry

easy_install docker-registry

配置docker registry

使用easy_install安裝完成的docker-registry位于/usr/lib/python2.6/site-packages/docker_registry-0.7.3-py2.6.egg目錄,此時需要進入這個目錄下的config子目錄,從模板復制一個配置文件出來:

cd /usr/lib/python2.6/site-packages/docker_registry-0.7.3-py2.6.egg/config
cp config_sample.yml config.yml

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

配置sqlite數據庫位置
 sqlalchemy_index_database: _env:SQLALCHEMY_INDEX_DATABASE:sqlite://///opt/docker_data/registry/docker-registry.db

配置本地存儲位置
local: &local
    storage: local
    storage_path: _env:STORAGE_PATH:/opt/docker_data/registry

配置nginx

為了方便使用,可以在本地dns服務器上注冊docker.knktc.com這個域名,并使用nginx來進行代理。

配置文件中加入以下語句:

#for docker
upstream docker-registry {
  server localhost:5000;
}

server {
  listen 80;
  server_name docker.knktc.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啟動之后,使用docker用戶執行以下的命令可以測試啟動:

/usr/bin/gunicorn --debug -k gevent -b 0.0.0.0:5000 -w 8 docker_registry.wsgi:application

此時可能會遇到數量眾多的import error,逐個使用easy_install 安裝缺失的模塊就可以了。最后在瀏覽器中訪問http://docker.knktc.com,如果看到以下的輸出,則表明docker registry安裝成功了:

"docker-registry server (dev) (v0.7.3)"

使用supervisord來進行進程的監控

官方和其他的文檔都推薦使用supervisord來進行docker registry的進程監控,安裝supervisor后,在/etc/supervisord中加入以下語句即可:

[program:docker-registry]
user=docker
command=/usr/bin/gunicorn --debug -k gevent -b 0.0.0.0:5000 -w 8 docker_registry.wsgi:application 
redirect_stderr=true  
stderr_logfile=/var/log/supervisor/docker-registry-error.log
stdout_logfile=/var/log/supervisor/docker-registry.log  
autostart=true  
autorestart=true

測試使用

docker registry搭建完畢之后就可以使用tag命令將本地的鏡像設置為使用本地的docker registry來存儲了,一個簡單的例子如下:

#將本地的localimage鏡像設置為存儲到docker registry上,命名為knktc/testimage
docker tag localimage docker.knktc.com/knktc/testimage

#上傳這個鏡像到docker registry中
docker push docker.knktc.com/knktc/testimage

#換一臺機器來pull這個鏡像
docker pull docker.knktc.com/knktc/testimage

“如何使用docker registry搭建部署docker鏡像庫”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

新余市| 高安市| 遂溪县| 新沂市| 罗定市| 河南省| 大连市| 大丰市| 兴城市| 河津市| 新晃| 东安县| 珲春市| 淄博市| 曲阳县| 上林县| 肥东县| 墨竹工卡县| 昔阳县| 彭山县| 新平| 洪泽县| 增城市| 易门县| 阿克| 澎湖县| 财经| 巨鹿县| 含山县| 宁波市| 和顺县| 密云县| 大荔县| 双桥区| 泰宁县| 东山县| 阿图什市| 六盘水市| 临清市| 榆林市| 舒城县|