Docker倉庫搭建(Registry + Portus)

1、安裝CentOS 7.2(步驟略)

2、更新系統

yum update -y

3、安裝docker-compose

yum -y install epel-release    #pip安裝包在epel源中
yum -y install python-pip
pip install -U docker-compose

4、安裝git客戶端

yum install -y git

5、複製Portus安裝程序

git clone 
https://github.com/SUSE/Portus.git

6、配置Docker安裝源

vi /etc/yum.repos.d/docker.repo
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=
https://yum.dockerproject.org/gpg


7、安裝docker引擎並啓動

yum cleal all && yum makecache
yum install -y docker-engine
systemctl start docker.service
systemctl enable docker.service


8、安裝Portus

./compose-setup.sh -e 192.168.0.109
#安裝過程中會下載registry、mariadb、rails、ports_web等幾個docker鏡像
#如果網絡不好可以先下載對應的幾個docker鏡像文件
#然後上傳到portus服務器上並用docker load命令加載。
#鏡像的具體版本號以實際爲準。
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
portus_web          latest              24a654206d8b        2 days ago          1.086 GB
registry            2.3.1               83139345d017        4 months ago        165.8 MB
mariadb             10.0.23             93631b528e67        5 months ago        304.6 MB
rails               4.2.2               99b347e4bbb4        13 months ago       884.5 MB
安裝過後會給出相應的登陸信息和客戶端需要的操作樣例
###################
#     SUCCESS     #
###################

Make sure port 3000 and 5000 are open on host 192.168.0.109

Open http://192.168.0.109:3000 with your browser and perform the following steps:

  1. Create an admin account
  2. You will be redirected to a page where you have to register the registry. In this form:
    - Choose a custom name for the registry.
    - Enter 192.168.0.109:5000 as the hostname.
    - Do *not* check the "Use SSL" checkbox, since this setup is not using SSL.

Perform the following actions on the docker hosts that need to interact with your registry:

  - Ensure the docker daemon is started with the '--insecure-registry 192.168.0.109:5000'
  - Perform the docker login.

To authenticate against your registry using the docker cli do:

  $ docker login -u <portus username> -p <password> -e <email> 192.168.0.109:5000

To push an image to the private registry:

  $ docker pull busybox
  $ docker tag busybox 192.168.0.109:5000/<username>busybox
  $ docker push 192.168.0.109:5000/<username>busybox

9、打開防火牆端口

firewall-cmd --zone=public  --add-port=3000/tcp --permanent
firewall-cmd --zone=public  --add-port=5000/tcp --permanent
systemctl restart firewall.service

10、Portus初始化

在瀏覽器中打開創建默認管理員用戶

wKiom1efhh2jb8x4AAFyZVdUIOY434.png

連接到本docker倉庫(也可以是其他倉庫,必須是registry 2.0以上版本)

wKioL1efhjWBEWtqAABsLIPowb4301.png

10、上傳鏡像測試

修改文件/lib/systemd/system/docker.service中的ExecStart增加--insecure-registry 192.168.0.109:5000並重啓docker服務

systemctl daemon-reload
systemctl restart docker.service

檢查docker服務

# ps -ef|grep insecure-registry
root     29486     1  0 01:32 ?        00:00:00 /usr/bin/dockerd --insecure-registry 192.168.0.109:5000

下載busybox鏡像並上傳到私有的倉庫中(安裝結束時有操作提示)

docker pull busybox

docker tag busybox 192.168.0.109:5000/admin/busybox

docker login -u admin -p admin123 192.168.0.109:5000

docker push 192.168.0.109:5000/admin/busybox


檢查Portus界面的鏡像信息

wKiom1efimbyvVonAABPB0usLtI260.png-wh_50

11、服務器重啓後處理

應該先啓動







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章