1. 程式人生 > >在RHEL 7上如何搭建本地私有的docker registry

在RHEL 7上如何搭建本地私有的docker registry

通常我們都是從docker.io的官方registry上獲取docker image,每次都需要下載。為了快速獲得image,最好的辦法是搭建一個本地的私有registry,把所有需要的image都放在這個私有的registry裡。任何客戶端如何需要docker image,直接從這個本地registry裡獲取即可。

搭建方法如下:

1. 安裝並啟動docker和docker-registry服務:

# yum install docker docker-registry
# systemctl enable docker
# systemctl start docker
# systemctl enable docker-registry
# systemctl start docker-registry

2. docker-registry服務啟動後,會監聽5000埠,用如下命令檢測docker-registry是否接受請求:

# curl localhost:5000
"\"docker-registry server\""

3. 從docker.io下載一個測試用image,推薦cirros,因為比較小
# docker pull cirros
# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
docker.io/cirros            latest              64a920f75037        5 hours ago         7.731 MB

4. 修改docker的預設啟動配置檔案/usr/lib/systemd/system/docker.service,在"ExecStart="的最後增加"--insecure-registry $local_ip:5000"一行,這裡的local_ip就是本機的IP地址,比如192.168.100.9

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
ExecStart=/usr/bin/docker daemon $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY \
          --insecure-registry 192.168.100.9:5000
然後重啟docker服務:
# systemctl daemon-reload
# systemctl restart docker

5. 對cirros image重新tag(標記),然後上傳(push)到本地的registry裡

# docker tag 64a920f75037 192.168.100.9:5000/cirros
# docker push 192.168.100.9:5000/cirros

預設的registry repository路徑是/var/lib/docker-registry/repositories/,可以通過tree命令檢查上傳是否成功:

# tree /var/lib/docker-registry/repositories/
/var/lib/docker-registry/repositories/
└── library
    └── cirros
        ├── _index_images
        ├── json
        ├── tag_latest
        └── taglatest_json

6. 找一個客戶端,安裝docker後,需要修改docker的預設啟動配置檔案/usr/lib/systemd/system/docker.service,在"ExecStart="的最後增加"--insecure-registry $registry_ip:5000"一行,這裡的registry_ip就是之前配置的本地registry server的IP地址192.168.100.9
[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
ExecStart=/usr/bin/docker daemon $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY \
          --insecure-registry 192.168.100.9:5000

7. 啟動docker服務後,從之前配置的registry server上獲取image

# systemctl daemon-reload
# systemctl restart docker

# docker pull 192.168.100.9:5000/cirros
# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
192.168.100.9:5000/cirros   latest              64a920f75037        5 hours ago         7.731 MB

然後就可以用這個image來建立容器了。如果覺得名字太長,不方便使用,可以重新tag一個image,然後把舊的刪掉,如下:

# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
192.168.100.9:5000/cirros   latest              64a920f75037        5 hours ago         7.731 MB

# docker tag 64a920f75037 cirros

# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
cirros                      latest              64a920f75037        5 hours ago         7.731 MB
192.168.100.9:5000/cirros   latest              64a920f75037        5 hours ago         7.731 MB

# docker rmi 192.168.100.9:5000/cirros
Untagged: 192.168.100.9:5000/cirros:latest

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
cirros              latest              64a920f75037        5 hours ago         7.731 MB




相關推薦

搭建本地私有docker倉庫

搭建本地私有docker倉庫1、使用registry鏡像創建私有倉庫 docker run -d -p 5000:5000 --restart=always --name registry registry:2這條命令將自動下載並啟動一個registry容器,創建本地的私有倉庫--restart=alwa

RHEL 7如何搭建本地私有的docker registry

通常我們都是從docker.io的官方registry上獲取docker image,每次都需要下載。為了快速獲得image,最好的辦法是搭建一個本地的私有registry,把所有需要的image都放在這個私有的registry裡。任何客戶端如何需要docker image

docker 搭建本地私有倉庫及映象傳時HTTPS client問題解決(windows 10)

1, 設定容器可訪問的盤: 點選小鯨魚圖片,滑鼠右鍵-》settings->Shared Drives,進行設定,選擇相應的盤,比如E盤,然後點選“Apply”,如圖   2, 下載registry映象: 執行命令docker pull

Docker基礎-搭建本地私有倉庫

ubuntu acf docker倉庫 rep repo ref yun osi 重啟 1、使用registry鏡像創建私有倉庫   安裝Docker後,可以通過官方提供的registry鏡像來簡單搭建一套本地私有倉庫環境: docker run -d -p 5000:5

在 ubuntu 搭建需要簽名認證的私有 docker registry 倉庫

.com chunked required 社區 apach proto remote tps grep 前言 在前面的一篇博客《在 ubuntu 搭建 docker registry 私有倉庫》介紹了一種簡單的搭建 docker 私有倉庫了的方法。但是當時使用的是修改“-

Redis實戰(二)CentOS 7搭建redis-3.0.2

str 進程 ps 禁用 安裝redis 結果 redis 啟動服務 pro bin 1.安裝redis wget http://download.redis.io/releases/redis-3.0.2.tar.gz tar zxvf redis-3.0.2.tar

CentOS/RHEL 7PostgreSQL的安裝配置與基本使用

PostgreSQL 安裝 配置 基本使用 安裝PostgreSQL 9.6為例:? 安裝 Install the repository RPMyum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7

搭建私服-docker registry

dockerDocke官方提供了Docker Hub網站來作為一個公開的集中倉庫。然而,本地訪問Docker Hub速度往往很慢,並且很多時候我們需要一個本地的私有倉庫只供網內使用。Docker倉庫實際上提供兩方面的功能,一個是鏡像管理,一個是認證。前者主要由docker-registry項目來實現,通過ht

在centos 7搭建web常用軟件和優化

web運維 web代理WEB搭建及優化本文主要是針對web服務的,生產環境會使用的一些軟件,只是簡單陳述,如果有什麽不正確的地方,請指教,謝謝! Web搭建的軟件:httpd,nginx,tomcat代理軟件:squid,varnish數據庫軟件:mariadb,redis,mencache驗證瀏覽方式:el

CentOS 7 搭建nginx 1.6

elinks kcon %d 年月日 日期結尾 bmp 就會 XP c-c 準備要素,編譯環境,創建組,創建被service所管理的腳本,兩種隱藏版本方法,實現主進程用root創建 子進程有nginx 創建,圖片緩存時間 在最新的centos7.3上搭建nginx 1.6

三步搞定Centos 7 特定版本的 docker 安裝

cache con data doc 說明 ger mapper 過程 -s 由於國內網絡原因,使用centos的用戶yum源常用國內的阿裏雲。現在把centos7上安裝docker的詳細過程記錄如下: 一、配置centos7的yum源(阿裏雲) 1、cd /etc/yu

在 CentOS 7 搭建 KVM 虛擬化平臺

create 采購 sha 安裝工具 work 文件格式 磁盤 ces 進程調度 KVM 簡介 Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模塊,自Linux 2.6.20之後集成在Linux的各個主要發行版本中。它使用Linu

RHEL 7oracle 莫名宕機 ORA-27300

lur nec rod sessions exp expdp role detail 解決辦法 現象: oracle 執行job:expdp,數據庫實例直接宕掉,報錯如下: ORA-27300: OS system dependent operation:semctl fa

nexus 搭建npm私有伺服器

nexus 純小白文,如有雷同,大概率我參考了你的文件。 1.在本地執行nexus 附上下載連結:Nexus Repository OSS 下載連結 附上文件連結:Nexus Repository OSS 文件連結 有幾個值得注意的是 我的 系統為 64位 wi

Harbor--搭建企業級私有docker映象倉庫(一)

                Harbor映象倉庫搭建 Harbor是一個用於儲存和分發Docker映象的企業級Registry伺服器,通過新增一些企業必需的功能

如何在CentOS 7/RHEL 7安裝phpMyAdmin

phpMyAdmin是用於管理MySQL,MariaDB和Drizzle伺服器的基於Web的管理工具。 它有助於執行資料庫活動,如建立,刪除,查詢,表,列,關係,索引,使用者,許可權等。 在安裝phpMyAdmin之前,必須在伺服器上安裝LAMP Stack。 在CentOS 7上安裝phpMyAdmi

在CentOS 7搭建Zabbix

先最小安裝CentOS7 安裝源:http://mirrors.163.com/centos/7/os/x86_64/ 軟體選擇:最小安裝基本功能   新增epel源 yum install epel-release   命令自動補全 yum in

CentOS 7搭建安全、容災、高可用的etcd叢集_Kubernetes中文社群

【編者的話】etcd 是 CoreOS 團隊發起的開源專案,基於 Go 語言實現,做為一個分散式鍵值對儲存,通過分散式鎖,leader選舉和寫屏障(write barriers)來實現可靠的分散式協作。 本文目標是部署一個基於TLS(Self-signed certificates)的安全、快

RHEL 7配置IBM Domino V10.0.1

#dominoforever 大家好,才是真的好。本篇緊接著上一篇,將講述RHEL 7上配置IBM Domino V10.0.1的過程。如果您的環境不一致,就算完全按照我們的方式來,過程中可能存在不同程度的艱辛。所以請儘量保持一致。 一、配置IBM Domino V10.0.1

RHEL 7安裝IBM Domino V10.0.1

#dominoforever 大家好,才是真的好。這幾天我們都在研究和釋出IBM Domino V10.0.1的資源和功能新特性,今天也不例外,主題是在Redhat上安裝IBM Domino V10.0.1伺服器,為後續安裝IBM Domino AppDev Pack 1.0做些準備——