日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于Docker搭建私有镜像仓库

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Docker搭建私有镜像仓库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通常我們在docker中拉取的鏡像都是在docker hub在線存儲庫中獲取的,這個在線存儲庫里的docker鏡像可以由任何用戶發布和使用,顯然這在某些場景下是不適用的,比如某些互金的隱私項目,或者是公司完全處于內網狀態不能訪問外網,再或者你想個性化定制某些配置等等等,所以這就需要用到私有存儲庫了,今天我們就基于registry鏡像搭建屬于我們自己的私有倉庫。

1、安裝指令

docker pull registry

默認拉取最新版:

2、配置私有倉庫地址

vim /etc/docker/daemon.json

輸入如下參數,注意修改為自己的ip地址:

"insecure-registries": ["10.211.55.4:5000"]


:wq 保存退出,然后我們重啟啟動一下 docker

systemctl restart docker

3、創建容器

docker run -d -p 5000:5000 --name registry docker.io/registry

部分參數說明:

  • -d:讓容器在后臺運行
  • -p:指定容器內部使用的網絡端口映射到我們使用的主機上
  • –name:指定容器創建的名稱

4、重新加載配置

sudo systemctl daemon-reload

然后瀏覽器訪問:http://10.211.55.4:5000/v2/_catalog

如果訪問不到,嘗試關閉防火墻:

systemctl stop firewalld

如果還是訪問不不到,可以重啟一下docker

sudo systemctl restart docker

然后重新運行一下容器。

5、驗證上傳鏡像到私有倉庫

我們使用HelloWorld鏡像進行測試,首先先拉取一下:

docker pull hello-world


拉取之后我們看一下鏡像名稱及版本:

至此我們就有了一個hello-world鏡像,接下來我們使用 push 指令將鏡像推送到剛剛搭建的registry中:

# 標記hello-world該鏡像需要推送到私有倉庫 docker tag hello-world:latest 127.0.0.1:5000/hello-world:latest# 通過push指令推送到私有倉庫 docker push 127.0.0.1:5000/hello-world:latest


再來訪問:http://10.211.55.4:5000/v2/_catalog

我們可以看到私有倉庫目錄已經有剛剛推送上去的 hello-world 鏡像了。

6、驗證從私有倉庫下載鏡像

驗證完了上傳,我們再來測試一下下載鏡像:

# 格式如下: docker pull 127.0.0.1:5000/鏡像名稱:鏡像版本號# 以hello-world為例: docker pull 127.0.0.1:5000/hello-world


到這可能有的小伙伴就有疑惑了,你這通過ip能拉取嗎,我看你一直用的127.0.0.1,畢竟私有倉庫搭建完是要給別人用的嘛~

那么我們就測試一下:

docker pull 10.211.55.4:5000/hello-world:latest


如上圖所示,通過ip也是可以拉取成功的,但是在這再額外補充一下,有的小伙伴可能提示如下:

Trying to pull repository 10.211.55.4:5000/hello-world ... Get https://10.211.55.4:5000/v1/_ping: http: server gave HTTP response to HTTPS client

這種顯然是拉取失敗了,提示大致就是,嘗試從https上拉取,但是返回的是http響應,如何解決呢?

我們可以通過如下進行處理一下,xxx修改為自己的ip地址:

echo '{ "insecure-registries":["xxx.xxx.xxx.xxx:5000"] }' > /etc/docker/daemon.json

其實如果你是按上我上邊這些步驟下來是不會有問題的,在步驟2配置私有倉庫地址時,其實我們已經配置了insecure-registries,但是配置后我們需要重啟啟動一下docker才可以生效,畢竟是配置了系統文件嘛~

ok,至此整個搭建過程完畢~

— END —

推薦閱讀:

基于Docker的Redis集群搭建

Docker安裝Nginx

基于Docker方式實現Elasticsearch集群

Docker中Maven私服的搭建

基于Docker搭建Gitlab代碼存儲

總結

以上是生活随笔為你收集整理的基于Docker搭建私有镜像仓库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。