手把手教你用Docker構建私有倉庫

2021-10-05 10:37:18 字數 4725 閱讀 1775

1.部署私有倉庫應用

倉庫映象

docker hub官方已提供容器映象registry,用於搭建私有倉庫

1.拉取映象

[root@localhost ~]

# docker pull daocloud.io/library/registry:latest

2.執行容器

[root@localhost ~]

# docker run --restart=always -d -p 5000:5000 daocloud.io/library/registry

-p 指定埠

--restart=always 重啟docker服務時該容器不會關閉

-d 後台執行

3.檢視映象及其ip

[root@localhost ~]

# docker ps

container id image command created status ports names

00140cb3c38c daocloud.io/library/registry "/entrypoint.sh /etc…" 10 seconds ago up 9 seconds 0.0.0.0:5000->5000/tcp wizardly_ride

[root@localhost ~]

# docker inspect 00140cb3c38c | grep ipaddress

"secondaryipaddresses"

: null,

"ipaddress"

:"172.17.0.2",

"ipaddress"

:"172.17.0.2",

4.在本機檢視能否訪問該私有倉庫, 看看狀態碼是不是200

5.檢視映象用於上傳到倉庫

[root@localhost ~]

# docker images

repository tag image id created size

nginx_docker v1 d9510c5285ad 2 days ago 452mb

daocloud.io/library/registry latest 708bc6af7e5e 3 months ago 25.8mb

如果你沒有可用的映象,可以拉取乙個如:

[root@localhost ~]

6.上傳前必須給映象打tag 註明ip和埠

[root@localhost ~]

# docker tag nginx_docker:v1 192.168.13.150:5000/nginx

# nginx_docker:v1 對應我們拉取映象的repository和tag

# 192.168.13.150:5000/nginx 前面是ip和埠號,nginx是我們自定義的名字

7.建立配置檔案

[root@localhost ~]

# vim /etc/docker/daemon.json

# 如果你之前用過加速器,需要用逗號隔開

[root@localhost ~]

# systemctl restart docker #重啟服務

8.上傳映象到私有倉庫

[root@localhost ~]

# docker images #檢視我們建立的映象

repository tag image id created size

192.168.13.150:5000/nginx latest d9510c5285ad 2 days ago 452mb

nginx_docker v1 d9510c5285ad 2 days ago 452mb

daocloud.io/library/registry latest 708bc6af7e5e 3 months ago 25.8mb

[root@localhost ~]

# docker push 192.168.13.150:5000/nginx #上傳

9.檢視私有倉庫裡的映象

[root@localhost ~]

# curl 192.168.13.150:5000/v2/_catalog

2.容器固定ip
docker安裝後,缺省會建立三種網路型別,bridge、host和none

顯示當前網路

[root@localhost ~]

# docker network list

network id name driver scope

a43bb9d2ad66 bridge bridge local

ba3d37ddba81 host host local

a9edbcbe2e0c none null local

====

====

====

====

====

====

====

====

====

====

====

====

====

====

*****==

bridge:網路橋接

預設情況下啟動、建立容器都是用該模式,所以每次docker容器重啟時會按照順序獲取對應ip位址,這就導致容器每次重啟,ip都發生變化

none:無指定網路

啟動容器時,可以通過–network=none,docker容器不會分配區域網ip

host:主機網路

docker容器的網路會附屬在主機上,兩者是互通的。

====

====

====

====

====

====

====

====

====

====

====

====

====

====

*****==

建立固定ip容器

1.建立自定義網路型別,並且指定網段

[root@localhost ~]

# docker network create --subnet=192.168.30.0/24 customnet

[root@localhost ~]

# docker network list

network id name driver scope

a43bb9d2ad66 bridge bridge local

9d90df98d668 customnet bridge local

ba3d37ddba81 host host local

a9edbcbe2e0c none null local

多了乙個我們自定義的型別

2.使用新的網路型別建立並啟動容器

[root@localhost ~]

# docker run -it --name custom --net customnet --ip 192.168.30.2 centos:7 /bin/bash

[root@651219632eb2 /]

# hostname -i

192.168.30.2

或者在容器外面檢視

[root@localhost ~]

# docker inspect custom | grep ipaddres

"secondaryipaddresses"

: null,

"ipaddress"

:"",

"ipaddress"

:"192.168.30.2",

手把手教你用Ucos

ucos作業系統的學習 實時作業系統 任務切換,排程 分式作業系統 不可剝奪型核心 ucosii嵌入式實時作業系統的源 分為三部分 與硬體無關的核心 與處理器有關的移植 和使用者配置檔案。ucos最多支援64個任務,優先順序分別對應0 63,其中0為最高優先順序,系統保留4個最高優先順序的任務,和4...

手把手教你用Charles抓包

日常開發過程中難免要進行抓包,檢視服務端返回的資料是否正常,而charles可謂是抓包利器了。配置好以後,charles實際上讓電腦成了乙個中間 伺服器,我們手機上的所有請求都會經過電腦,被charles攔截,然後charles把自己偽裝成手機向我們的遠端伺服器位址傳送請求,所以charles能記錄...

手把手教你用Python實踐深度學習

課程共七章,採用最新版本進行教學,2018必學技術 第一章 從人工智慧到深度學習 第二章 使用tensorflow keras 建構人工神經網路 artificial neural network 第三章 卷積神經網路 convolutional neural network 第四章 迴圈神經網路 ...