欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker 教程之私有倉(cāng)庫(kù)詳解

 更新時(shí)間:2016年12月26日 16:12:12   投稿:lqh  
這篇文章主要介紹了Docker 教程之私有倉(cāng)庫(kù)詳解的相關(guān)資料,需要的朋友可以參考下

私有倉(cāng)庫(kù)

有時(shí)候使用 Docker Hub 這樣的公共倉(cāng)庫(kù)可能不方便,用戶(hù)可以創(chuàng)建一個(gè)本地倉(cāng)庫(kù)供私人使用。

本節(jié)介紹如何使用本地倉(cāng)庫(kù)。

docker-registry 是官方提供的工具,可以用于構(gòu)建私有的鏡像倉(cāng)庫(kù)。

安裝運(yùn)行 docker-registry

容器運(yùn)行

在安裝了 Docker 后,可以通過(guò)獲取官方 registry 鏡像來(lái)運(yùn)行。

$ sudo docker run -d -p 5000:5000 registry

這將使用官方的 registry 鏡像來(lái)啟動(dòng)本地的私有倉(cāng)庫(kù)。 用戶(hù)可以通過(guò)指定參數(shù)來(lái)配置私有倉(cāng)庫(kù)位置,例如配置鏡像存儲(chǔ)到 Amazon S3 服務(wù)。

$ sudo docker run \
   -e SETTINGS_FLAVOR=s3 \
   -e AWS_BUCKET=acme-docker \
   -e STORAGE_PATH=/registry \
   -e AWS_KEY=AKIAHSHB43HS3J92MXZ \
   -e AWS_SECRET=xdDowwlK7TJajV1Y7EoOZrmuPEJlHYcNP2k4j49T \
   -e SEARCH_BACKEND=sqlalchemy \
   -p 5000:5000 \
   registry

此外,還可以指定本地路徑(如 /home/user/registry-conf )下的配置文件。

$ sudo docker run -d -p 5000:5000 -v /home/user/registry-conf:/registry-conf -e 
DOCKER_REGISTRY_CONFIG=/registry-conf/config.yml registry

默認(rèn)情況下,倉(cāng)庫(kù)會(huì)被創(chuàng)建在容器的 /tmp/registry 下??梢酝ㄟ^(guò) -v 參數(shù)來(lái)將鏡像文件存放在本地的指定路徑。 例如下面的例子將上傳的鏡像放到 /opt/data/registry 目錄。

$ sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry

本地安裝

對(duì)于 Ubuntu 或 CentOS 等發(fā)行版,可以直接通過(guò)源安裝。

Ubuntu

$ sudo apt-get install -y build-essential python-dev libevent-dev python-pip liblzma-dev
$ sudo pip install docker-registry

CentOS

$ sudo yum install -y python-devel libevent-devel python-pip gcc xz-devel
$ sudo python-pip install docker-registry

也可以從 docker-registry 項(xiàng)目下載源碼進(jìn)行安裝。

$ sudo apt-get install build-essential python-dev libevent-dev python-pip libssl-dev liblzma-dev libffi-dev
$ git clone https://github.com/docker/docker-registry.git
$ cd docker-registry
$ sudo python setup.py install

然后修改配置文件,主要修改 dev 模板段的 storage_path 到本地的存儲(chǔ)倉(cāng)庫(kù)的路徑。

$ cp config/config_sample.yml config/config.yml

之后啟動(dòng) Web 服務(wù)。

$ sudo gunicorn -c contrib/gunicorn.py docker_registry.wsgi:application

或者

$ sudo gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 4 --max-requests 100 docker_registry.wsgi:application

此時(shí)使用 curl 訪問(wèn)本地的 5000 端口,看到輸出 docker-registry 的版本信息說(shuō)明運(yùn)行成功。

注:config/config_sample.yml 文件是示例配置文件。

在私有倉(cāng)庫(kù)上傳、下載、搜索鏡像

創(chuàng)建好私有倉(cāng)庫(kù)之后,就可以使用 docker tag 來(lái)標(biāo)記一個(gè)鏡像,然后推送它到倉(cāng)庫(kù),別的機(jī)器上就可以下載下來(lái)了。例如私有倉(cāng)庫(kù)地址為 192.168.7.26:5000。

先在本機(jī)查看已有的鏡像。

$ sudo docker images
REPOSITORY      TAG     IMAGE ID   CREATED    VIRTUAL SIZE
ubuntu       latest    ba5877dc9bec  6 weeks ago   192.7 MB
ubuntu       14.04    ba5877dc9bec  6 weeks ago   192.7 MB

使用docker tag 將 ba58 這個(gè)鏡像標(biāo)記為 192.168.7.26:5000/test(格式為 docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG])。

$ sudo docker tag ba58 192.168.7.26:5000/test
root ~ # docker images
REPOSITORY      TAG     IMAGE ID   CREATED    VIRTUAL SIZE
ubuntu       14.04    ba5877dc9bec  6 weeks ago   192.7 MB
ubuntu       latest    ba5877dc9bec  6 weeks ago   192.7 MB
192.168.7.26:5000/test   latest    ba5877dc9bec  6 weeks ago   192.7 MB

使用 docker push 上傳標(biāo)記的鏡像。

$ sudo docker push 192.168.7.26:5000/test
The push refers to a repository [192.168.7.26:5000/test] (len: 1)
Sending image list
Pushing repository 192.168.7.26:5000/test (1 tags)
Image 511136ea3c5a already pushed, skipping
Image 9bad880da3d2 already pushed, skipping
Image 25f11f5fb0cb already pushed, skipping
Image ebc34468f71d already pushed, skipping
Image 2318d26665ef already pushed, skipping
Image ba5877dc9bec already pushed, skipping
Pushing tag for rev [ba5877dc9bec] on {http://192.168.7.26:5000/v1/repositories/test/tags/latest}

用 curl 查看倉(cāng)庫(kù)中的鏡像。

$ curl http://192.168.7.26:5000/v1/search
{"num_results": 7, "query": "", "results": 
[{"description": "", "name": "library/miaxis_j2ee"},
 {"description": "", "name": "library/tomcat"},
 {"description": "", "name": "library/ubuntu"}, 
{"description": "", "name": "library/ubuntu_office"}, 
{"description": "", "name": "library/desktop_ubu"}, 
{"description": "", "name": "dockerfile/ubuntu"}, 
{"description": "", "name": "library/test"}]}

這里可以看到 {"description": "", "name": "library/test"},表明鏡像已經(jīng)被成功上傳了。

現(xiàn)在可以到另外一臺(tái)機(jī)器去下載這個(gè)鏡像。

$ sudo docker pull 192.168.7.26:5000/test
Pulling repository 192.168.7.26:5000/test
ba5877dc9bec: Download complete
511136ea3c5a: Download complete
9bad880da3d2: Download complete
25f11f5fb0cb: Download complete
ebc34468f71d: Download complete
2318d26665ef: Download complete
$ sudo docker images
REPOSITORY       TAG     IMAGE ID   CREATED    VIRTUAL SIZE
192.168.7.26:5000/test    latest    ba5877dc9bec  6 weeks ago   192.7 MB

可以使用 這個(gè)腳本 批量上傳本地的鏡像到注冊(cè)服務(wù)器中,默認(rèn)是本地注冊(cè)服務(wù)器 127.0.0.1:5000。例如:

$ wget https://github.com/yeasy/docker_practice/raw/master/_local/push_images.sh; sudo chmod a+x push_images.sh
$ ./push_images.sh ubuntu:latest centos:centos7
The registry server is 127.0.0.1
Uploading ubuntu:latest...
The push refers to a repository [127.0.0.1:5000/ubuntu] (len: 1)
Sending image list
Pushing repository 127.0.0.1:5000/ubuntu (1 tags)
Image 511136ea3c5a already pushed, skipping
Image bfb8b5a2ad34 already pushed, skipping
Image c1f3bdbd8355 already pushed, skipping
Image 897578f527ae already pushed, skipping
Image 9387bcc9826e already pushed, skipping
Image 809ed259f845 already pushed, skipping
Image 96864a7d2df3 already pushed, skipping
Pushing tag for rev [96864a7d2df3] on {http://127.0.0.1:5000/v1/repositories/ubuntu/tags/latest}
Untagged: 127.0.0.1:5000/ubuntu:latest
Done
Uploading centos:centos7...
The push refers to a repository [127.0.0.1:5000/centos] (len: 1)
Sending image list
Pushing repository 127.0.0.1:5000/centos (1 tags)
Image 511136ea3c5a already pushed, skipping
34e94e67e63a: Image successfully pushed
70214e5d0a90: Image successfully pushed
Pushing tag for rev [70214e5d0a90] on {http://127.0.0.1:5000/v1/repositories/centos/tags/centos7}
Untagged: 127.0.0.1:5000/centos:centos7
Done

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • 詳解在docker中制作自己的JDK+tomcat鏡像

    詳解在docker中制作自己的JDK+tomcat鏡像

    這篇文章主要介紹了詳解在docker中制作自己的JDK+tomcat鏡像,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Docker如何刪除鏡像

    Docker如何刪除鏡像

    本文詳細(xì)介紹了如何使用Docker刪除鏡像,包括查看鏡像、刪除單個(gè)鏡像、刪除多個(gè)鏡像、刪除所有鏡像以及注意事項(xiàng),刪除鏡像是一個(gè)常見(jiàn)的操作,用于清理不再需要的鏡像,以節(jié)省存儲(chǔ)空間
    2025-03-03
  • Docker容器數(shù)據(jù)卷技術(shù)介紹

    Docker容器數(shù)據(jù)卷技術(shù)介紹

    這篇文章主要為大家介紹了Docker容器數(shù)據(jù)卷技術(shù)介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • docker-compose部署mysql數(shù)據(jù)庫(kù)完整步驟

    docker-compose部署mysql數(shù)據(jù)庫(kù)完整步驟

    Docker-Compose項(xiàng)目是Docker官方的開(kāi)源項(xiàng)目,負(fù)責(zé)實(shí)現(xiàn)對(duì)Docker容器集群的快速編排,這篇文章主要給大家介紹了關(guān)于docker-compose部署mysql數(shù)據(jù)庫(kù)的完整步驟,需要的朋友可以參考下
    2024-05-05
  • 在Ubuntu中安裝Docker教程

    在Ubuntu中安裝Docker教程

    這篇文章主要介紹了在Ubuntu中安裝Docker教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Docker compose安裝部署創(chuàng)建自定義網(wǎng)絡(luò)使用舉例

    Docker compose安裝部署創(chuàng)建自定義網(wǎng)絡(luò)使用舉例

    這篇文章主要為大家介紹了Docker compose安裝部署創(chuàng)建自定義網(wǎng)絡(luò)使用舉例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Docker服務(wù)遷移的實(shí)現(xiàn)

    Docker服務(wù)遷移的實(shí)現(xiàn)

    本文詳細(xì)介紹了如何備份和遷移Docker服務(wù)數(shù)據(jù),包括停止Docker服務(wù)、備份Docker數(shù)據(jù)和DockerCompose文件,使用SCP或Rsync傳輸備份文件,以及在新服務(wù)器上恢復(fù)Docker數(shù)據(jù)和設(shè)置權(quán)限,文中提供了詳細(xì)的命令和步驟,確保數(shù)據(jù)遷移過(guò)程順利進(jìn)行
    2024-10-10
  • 如何一次重啟所有已停止的docker容器

    如何一次重啟所有已停止的docker容器

    這篇文章主要介紹了如何一次重啟所有已停止的docker容器問(wèn)題,
    2024-01-01
  • docker中使用GPU+rocksdb的詳細(xì)教程

    docker中使用GPU+rocksdb的詳細(xì)教程

    這篇文章主要介紹了docker中使用GPU+rocksdb,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-10-10
  • Docker使用Prune命令清理none鏡像

    Docker使用Prune命令清理none鏡像

    本文主要介紹了Docker使用Prune命令清理none鏡像,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評(píng)論