前面我们能通过Dockerfile制作镜像,我们将制作好的镜像推到docker hub中,或docker registry中。从互联网上下载image的时候,时间比较长,速度比较慢,违背了容器轻量,快速的特点,所以,生产环境中一般都会有自己的私有仓库。
本地部署docker-registry:
- #yum inatall docker-registry -y
- #vim /etc/docker-distribution/registry/config.yml ------配置文件,里面包含了端口,存储路径;
- #systemctl start docker-distribution.service --------- 启动服务
Push Image:
- #docker tag smallboy:v27 10.0.38.78:5000/smallboy:v27
- #docker push 10.0.38.78:5000/smallboy:v27
会报错:
Docker push默认https协议,但是我们registry配置文件里面用http协议,可以做如下修改:
#vim /etc/docker/daemon.json
{
“insecure-registries”: [ “10.0.38.78:5000”]
} - #systemctl restart docker
- #docker push 10.0.38.78:5000/smallboy:v27 可以成功 但是registry形式太过丑,还有一个基于web界面的,叫harbor。
HARBOR
- 优点:多租户,多用户,用户注册;支持副本;web界面;等等。
- 部署harbor: 需要借助docker-compose
- 硬件:最小2c-4G-40G
- #tar xf harbor-offline-installer-v1.8.1.tgz -C /home/
- #vim harbor.yml -------harbor的配置文件
- #./install.sh --------运行脚本
- #http://10.0.38.77:80 ------访问harbor的web界面