Docker倉庫管理
1、下載registry 鏡像,registy為docker官方提供的一個鏡像,我們可以用它來創建本地的docker私有倉庫,
[root@localhost ~]# docker pull registry
Using default tag: latest
latest: Pulling from library/registry
cbdbe7a5bc2a: Pull complete
47112e65547d: Pull complete
46bcb632e506: Pull complete
c1cc712bcecd: Pull complete
3db6272dcbfa: Pull complete
Digest: sha256:8be26f81ffea54106bae012c6f349df70f4d5e7e2ec01b143c46e2c03b9e551d
Status: Downloaded newer image for registry:latest
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest 2d4f4b5309b1 4 months ago 26.2 MB
2、以registry鏡像啟動容器,-p會把容器的埠映射到宿主機上,:左邊為宿主機監聽埠,:右邊為容器監聽埠
[root@localhost ~]# docker run -itd -p 5000:5000 registry
1eb165757b68c44000cc64d1f60ca455a138da36d81cc8734e1d24fe325b7036
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1eb165757b68 registry "/entrypoint.sh /e..." 9 seconds ago Up 9 seconds 0.0.0.0:5000->5000/tcp nifty_shaw
[root@localhost ~]#
[root@localhost ~]# docker run -itd -p 5000:5000 registry
1eb165757b68c44000cc64d1f60ca455a138da36d81cc8734e1d24fe325b7036
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1eb165757b68 registry "/entrypoint.sh /e..." 9 seconds ago Up 9 seconds 0.0.0.0:5000->5000/tcp nifty_shaw
3、另一節點可以訪問
[root@xserver1 ~]# curl http://192.168.200.70:5000/v2/_catalog
{"repositories":[]}
4、標記一下tag,必須要帶有私有倉庫的ip:port
[root@localhost ~]# docker tag liu 192.168.200.70:5000/centos
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest 2d4f4b5309b1 4 months ago 26.2 MB
192.168.200.70:5000/centos latest 2d4f4b5309b1 4 months ago 26.2 MB
liu latest 2d4f4b5309b1 4 months ago 26.2 MB
6、把標記的鏡像給推送到私有倉庫
組態檔
[root@localhost ~]# vi /etc/docker/daemon.json
{
"registry-mirrors":["https://dhq9bx4f.mirror.aliyuncs.com"],"insecure-registries":["192.168.200.70:5000"]
}
~
~
~
~
~
~
~
~
~
"/etc/docker/daemon.json" 3L, 110C written
[root@localhost ~]# systemctl restart docker
推送的時候要確保鏡像連著的容器是開啟的,如果沒有開啟可以用命令docker start (容器id)
[root@localhost ~]# docker run -itd -p 5000:5000 192.168.200.70:5000/centos
532f92bddd467470ab20a5ab69fa145793894fff7d266366f1bdde831d6e4560
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
532f92bddd46 192.168.200.70:5000/centos "/entrypoint.sh /e..." 19 seconds ago Up 19 seconds 0.0.0.0:5000->5000/tcp goofy_yonath
1eb165757b68 registry "/entrypoint.sh /e..." 53 minutes ago Exited (2) 31 minutes ago nifty_shaw
[root@localhost ~]# docker push 192.168.200.70:5000/centos
The push refers to a repository [192.168.200.70:5000/centos]
b3f465d7c4d1: Pushed
a5f27630cdd9: Pushed
239a096513b5: Pushed
f5b9430e0e42: Pushed
3e207b409db3: Pushed
latest: digest: sha256:74bbdad7597dd3344bf953674ada592a997a16740ade2785073751530ef534d5 size: 1363
可以在另一節查看到
[root@xserver1 ~]# curl http://192.168.200.70:5000/v2/_catalog
{"repositories":["centos"]}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/229812.html
標籤:其他
上一篇:從月薪3K的Java小學生,到年薪80W的Java架構師,靠這份檔案,讓我學習像升級打怪一樣簡單!
下一篇:運維老手常用的linux命令操作
