1. 程式人生 > >Docker 18.03私有倉庫搭建

Docker 18.03私有倉庫搭建

外網 repos shadow iges -o test rime mct ted

我們在使用Docker時 下載鏡像一般都是在外網下載並使用。可是當我們沒有外網時我們不得不自己搭建私有倉庫。
流程圖:
技術分享圖片
docker 版本
[root@docker ~]# docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:20:16 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm

Server:
Engine:
Version: 18.03.1-ce

API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:23:58 2018
OS/Arch: linux/amd64
Experimental: false

安裝docker 
http://blog.51cto.com/10158955/2125450

下載registry 鏡像並且run起來
docker pull registry
[root@docker ~]# docker pull registry

Using default tag: latest

Trying to pull repository docker.io/library/registry ...
latest: Pulling from docker.io/library/registry
Digest: sha256:672d519d7fd7bbc7a448d17956ebeefe225d5eb27509d8dc5ce67ecb4a0bce54
Status: Downloaded newer image for docker.io/registry:latest

查看下載的鏡像
docker images
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE

docker.erick.com:5000/hello-world latest b2b03e9146e1 3 weeks ago 33.3MB
registry 2 b2b03e9146e1 3 weeks ago 33.3MB
registry latest b2b03e9146e1 3 weeks ago 33.3MB

通過剛剛下載的鏡像Run起來一個容器,並掛載目錄
[root@docker ~]# docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry:2 ##把宿主機的5000端口映射給docker 的5000端口。

查看此時剛剛創建的容器
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7c92ce5571d5 registry:2 "/entrypoint.sh /etc…" 15 minutes ago Up 15 minutes 0.0.0.0:5000->5000/tcp relaxed_saha

進入容器我們查看容器的目錄
[root@docker ~]# sudo docker exec -it 7c92ce5571d5 sh
/ #
技術分享圖片
exit 退出容器
然後在”/etc/docker/“目錄下,創建”daemon.json“文件。並添加
[root@docker ~]# cat /etc/docker/daemon.json
{
"insecure-registries": [
"docker.erick.com:5000"
]
}

修改/etc/hosts 能夠 解析到 docker.erick.com
[root@docker ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.254.137 docker.erick.com
註意:每個版本的docker修改配置內容都不同
[root@docker ~]# cat /etc/sysconfig/docker
OPTIONS=‘--selinux-enabled --insecure-registry 192.168.254.137:5000‘
重新啟動docker 服務
systemctl restart docker
開始把鏡像導入到私有倉庫
查看此時存在的docker 鏡像
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.erick.com:5000/hello-world latest b2b03e9146e1 3 weeks ago 33.3MB
registry 2 b2b03e9146e1 3 weeks ago 33.3MB
registry latest b2b03e9146e1 3 weeks ago 33.3MB
註意:為docker.io/hello-world 鏡像更名為docker.erick.com:5000/hello-world
技術分享圖片
把剛剛更改好名字的鏡像上傳至私有鏡像
技術分享圖片
技術分享圖片
可以看到我們已經把鏡像上傳到了 我們自己搭建的私有鏡像倉庫。我們看下存放倉庫的位置
先查看宿主機:
技術分享圖片

Docker 18.03私有倉庫搭建