Docker 私有倉庫搭建
先看下流程圖:
下面我們開始搭建 私有倉庫
1、安裝docker,並設置為開機自啟
yum install docker -y
systemctl start docker
systemctl enable docker
2、下載registry 鏡像並且run起來
下載鏡像
[root@docker ~]# docker pull registry
Using default tag: latest
Trying to pull repository docker.io/library/registry ...
Digest: sha256:672d519d7fd7bbc7a448d17956ebeefe225d5eb27509d8dc5ce67ecb4a0bce54
Status: Downloaded newer image for docker.io/registry:latest
查看下載的鏡像
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest e38bc07ac18e 2 months ago 1.85 kB
registry.erick.com 5000 e38bc07ac18e 2 months ago 1.85 kB
docker.io/registry latest d1fd7d86a825 5 months ago 33.3 MB
通過剛剛下載的鏡像Run起來一個容器,並掛載目錄
[root@docker ~]# docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry:2
查看此時剛剛創建的容器
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f22a2d1b8abe registry:2 "/entrypoint.sh /e..." 2 minutes ago Up 2 minutes 0.0.0.0:5000->5000/tcp xenodochial_borg
進入容器我們查看容器的目錄
[root@docker ~]# docker exec -u root -it f22a2d1b8abe sh
查看本地宿主機的 掛載文件系統
2、在”/etc/docker/“目錄下,創建”daemon.json“文件。在文件中寫入:
{
"insecure-registries": [
"docker.erick.com:5000"
]
}
如果有多個私有倉庫,則用“,”隔開,例如:
{
"insecure-registries": [
"docker.erick.com:5000",
"docker.erick.com1:5000"
]
}
重新啟動docker 服務
systemctl restart docker
修改/etc/hosts 能夠 解析到 docker.erick.com
192.168.1.39 docker.erick.com
3、開始把鏡像導入到私有倉庫
查看此時存在的docker 鏡像
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest e38bc07ac18e 2 months ago 1.85 kB
docker.io/registry 2 d1fd7d86a825 5 months ago 33.3 MB
docker.io/registry latest d1fd7d86a825 5 months ago 33.3 MB
[root@docker ~]#
為docker.io/hello-world 鏡像更名為docker.erick.com:5000/hello-world
把剛剛更改好名字的鏡像上傳至私有鏡像
可以看到我們已經把鏡像上傳到了 我們自己搭建的私有鏡像倉庫。我們看下存放倉庫的位置
先查看宿主機:
在查看容器:
docker容器實際上是掛載到宿主機的一個目錄!
Docker 私有倉庫搭建