介绍
介绍
要学习docker首先要学会管理docker镜像,docker镜像的获取方式包括:
官方拉取(pull)
导出/导入(export/import)
保存/加载(save/load)
Dockerfile
这里面大家最常用的方式还是官方拉取,但是官方镜像源的服务器在美国,我们这边下载速度没法保证。即便用了很多国内的镜像源的服务器,稳定性还是得不到保证。最好的办法就是把镜像放到本地,这样就可以放心使用了~
要把镜像存在本地服务器上就需要搭建docker私有仓库registry服务,福哥今天就要在TFCentOS7x64服务器上搭建一个registry服务,一起来吧~~
环境
镜像版本 | registry:2.8 |
服务IP | 192.168.168.68 |
服务端口 | 5000 |
SSL | 无 |
认证 | 无 |
操作系统 | CentOS 7 x86_64 2009 |
服务器 | TFCentOS7x64 |
IP | 192.168.168.68 |
安装
设置国内镜像源
这个直接从美国docker镜像服务器下载镜像实在太慢了,动不动就卡住一动不动。为了解决这个问题,福哥决定先把国内镜像源添加进来,让docker尽可能地从国内镜像服务器下载,提高速度!
设置docker国内镜像源的方法就是在/etc/docker/daemon.json里面添加registry-mirrors设置。
{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com" ] }
修改镜像标签
使用docker tag把registry:2.8镜像改成registry.tongfu.net:5000私有仓库下的。
docker tag registry:2.8 registry.tongfu.net:5000/registry:2.8 docker rmi registry:2.8
启动容器
启动registry容器,取名registry,总是自动启动,绑定主机IP地址192.168.168.68上的5000端口,映射前面建立的持久化目录。
docker run -tid \ --name registry \ -h registry \ --restart always \ -p 192.168.168.68:5000:5000 \ -v /tongfu.net/data/docker/data/registry:/var/lib/registry \ registry.tongfu.net:5000/registry:2.8
解决HTTPS问题
默认情况下私有仓库是在HTTPS下使用的,但是HTTPS是需要SSL证书的,咱们没那个高级货(其实是福哥懒得去搞,以后会教给大家哈),所以要解决这个强制HTTPS的问题。
docker可以通过/etc/docker/daemon.json进行一些配置,要解决HTTPS的问题就要在这个里面把我们的私有仓库地址添加进来。
{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com" ], "insecure-registries": [ "registry.tongfu.net:5000" ] }
推送centos7镜像到私有仓库
现在福哥要把刚刚下载的centos镜像推送到私有仓库里。
docker tag centos:centos7.9.2009 registry.tongfu.net:5000/centos:centos7.9.2009 docker push registry.tongfu.net:5000/centos:centos7.9.2009
总结
今天福哥在TFCentOS7x64服务器上面部署了私有仓库registry服务,后面再有其他服务器需要下载docker镜像的时候就可以在这里直接拉取了,无论是速递还是稳定性都要有一个质的提升了~~