天天看點

Linux之Docker私有倉庫的搭建

Linux之Docker私有倉庫的搭建

私有倉庫的搭建

下載下傳registry鏡像

[root@toto6 images]# docker pull registery:2

[root@toto6 images]# docker images registry

REPOSITORY TAG IMAGE ID CREATED SIZE

registry 2 f32a97de94e1 4 months ago 25.8MB=

運作此容器

[root@toto6 images]# docker run -d --name registry -p 5000:5000 -v /opt/registry:/var/lib/registry registry:2

建立并運作容器,設定資料卷,并做端口映射

檢視容器運作運作情況以及映射端口開啟情況:

[root@toto6 images]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

bc3bcd6346f4 registry:2 “/entrypoint.sh /etc…” About a minute ago Up About a minute 0.0.0.0:5000->5000/tcp registry

[root@toto6 images]# netstat -antlp

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 656/sshd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 778/master

tcp 0 0 172.25.13.160:22 172.25.13.250:57074 ESTABLISHED 2036/sshd: root@pts

tcp6 0 0 :::22 :: LISTEN 656/sshd

tcp6 0 0 ::1:25 :: LISTEN 778/master

tcp6 0 0 :::5000 :: LISTEN 19841/docker-proxy

上傳鏡像到本地倉庫

再上傳鏡像的時候,一般會預設上傳到docker hub官方倉庫,現在需要上傳到本地自己建立的倉庫,需要指定上傳的位址以及端口。如果使用ip預設使用tls加密,目前沒有設定,所有直接指定到本機的端口。

需要對本地需要進行上傳的鏡像進行修改标簽:

[root@toto6 images]# docker tag nginx:latest localhost:5000/nginx

[root@toto6 images]# docker images

nginx v4 cb475e8f4412 4 hours ago 23.7MB

nginx latest f68d6e55e065 11 days ago 109MB

localhost:5000/nginx latest f68d6e55e065 11 days ago 109MB

registry 2 f32a97de94e1 4 months ago 25.8MB

rhel7 latest 0a3eb3fde7fd 5 years ago 140MB

gcr.io/distroless/base latest 9a255d5fe262 49 years ago 16.8MB

上傳修改過标簽的鏡像到本地倉庫:

[root@toto6 images]# docker push localhost:5000/nginx # 上傳

The push refers to repository [localhost:5000/nginx]

d2f0b6dea592: Pushed

197c666de9dd: Pushed

cf5b3c6798f7: Pushed

latest: digest: sha256:00be67d6ba53d5318cd91c57771530f5251cfbe028b7be2c4b70526f988cfc9f size: 948

[root@toto6 images]# curl localhost:5000/v2/_catalog # 核實是否上傳成功

{“repositories”:[“nginx”]}

檢視其資料卷挂載點

運作容器的時候,設定了資料卷,可以子阿主控端檢視上傳的結果:

[root@toto6 images]# cd /opt/registry/

[root@toto6 registry]# ls

docker

[root@toto6 registry]# cd docker/

[root@toto6 docker]# ls

registry

[root@toto6 docker]# cd registry/

v2

[root@toto6 registry]# cd v2/

[root@toto6 v2]# ls

blobs repositories

[root@toto6 v2]# cd repositories/

[root@toto6 repositories]# ls

nginx

此時建立的私有倉庫遠端主機無法使用,并且不夠安全,此時則可以采用私有倉庫加證書加密的方式來建立私有倉庫

作者:若無其事的蘋果

來源:CSDN

原文:

https://blog.csdn.net/qq_36016375/article/details/96047991

版權聲明:本文為部落客原創文章,轉載請附上博文連結!