docker私有仓库
docker不仅提供一个公有仓库,同时也允许我们使用registry搭建本地私有仓库
使用私有仓库有下面的优点:
节约网络带宽,针对每个镜像不用每个人都去中央仓库去下载,仅从私有仓库下载即可,提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。
实验
实验环境私有仓库的搭建
实验环境
20.0.0.9 harbor
20.0.0.10 node
systemctl stop firewalld
systemctl restart docker
iptables -F
setenforce 0
1、首先将compose的软件包放在、root下、将harbor文件包放到root下
chmod +x docker-compose
mv docker-compose /usr/bin/
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
cd /usr/local/harbor
vim harbor.cfg
5 hostname = 20.0.0.9 ##添加本地地址
59 harbor_admin_password = Harbor12345 ##记住密码也可更改
还有下面的一些参数可以了解下,都不用改动
2、登录上传镜像
docker login -u admin -p Harbor12345 http://127.0.0.1 ##登录
docker pull tomcat ##下载一个镜像
docker tag tomcat:latest 20.0.0.9/myproject-abc/tomcat ##上传镜像
#这个上传有可能不成功,因为没有去改一个IP地址 用本地地址
docker tag tomcat:latest 127.0.0.1/myproject-abc/tomcat ##在项目中标记镜像
docker push 127.0.0.1/myproject-abc/tomcat ##推送镜像
3、在node节点上上传下载镜像
vim /usr/lib/systemd/system/docker.service
14 ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 20.0.0.9 --containerd=/run/containerd/cont ##添加部分内容必须要添加ip地址不如登录不上
systemctl daemon-reload
systemctl restart docker
docker login -u admin -p Harbor12345 http://20.0.0.9
docker tag nginx:latest 20.0.0.9/myproject-abc/nginx
docker push 20.0.0.9/myproject-abc/nginx ##上传镜像
docker images
docker pull 20.0.0.9/myproject-abc/tomcat:latest ##下载镜像
4、在在页面上添加用户,下载用的时候可以直接用私有用,这样安全一些
##查看是不是有下面的几个容器
[root@harbor harbor]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cb0f145ac643 vmware/nginx-photon:1.11.13 "nginx -g 'daemon of…" 3 hours ago Up 3 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp nginx
04ede4878ac0 vmware/harbor-jobservice:v1.2.2 "/harbor/harbor_jobs…" 3 hours ago Up 3 hours harbor-jobservice
a1fe92096602 vmware/harbor-ui:v1.2.2 "/harbor/harbor_ui" 3 hours ago Up 3 hours harbor-ui
40c10f4dc132 vmware/harbor-adminserver:v1.2.2 "/harbor/harbor_admi…" 3 hours ago Up 3 hours harbor-adminserver
90adf63c8bec vmware/registry:2.6.2-photon "/entrypoint.sh serv…" 3 hours ago Up 3 hours 5000/tcp registry
f76f773f7409 vmware/harbor-db:v1.2.2 "docker-entrypoint.s…" 3 hours ago Up 3 hours 3306/tcp harbor-db
45ecc0b33ca8 vmware/harbor-log:v1.2.2 "/bin/sh -c 'crond &…" 3 hours ago Up 3 hours 127.0.0.1:1514->514/tcp harbor-log