简述搭建私有的docker镜像仓库harbor的流程
准备一个虚拟机(此处用vagrant)
vagrant init envimation/ubuntu-xenial-docker
修改Vagrantfile
配置网络模式和Ip
config.vm.network "public_network", ip:"192.168.1.25"
配置内存大小,此处2G
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
end
vagrant ssh
二 下载安装
下载harbor
1下载installer并解压,我这里下载的是online installer
2进入解压后的目录,修改harbor.cfg 中的hostname(比如reg.test.com)
安装python
sudo apt-get update
sudo apt-get install python
二 运行
进入解压后的目录,执行
sudo ./install.sh
sudo chmod -R 777 harbor
三 测试
设置主机/etc/hosts
reg.test.com 192.168.1.25
页面访问reg.test.com
docker login reg.test.com
如果遇到Error response from daemon: Get https://reg.test.com:8081/v2/: http: server gave HTTP response to HTTPS client
需要设置insecure registries
这里我在ubuntu下
1)可以修改 /lib/systemd/system/docker.service
把service 下的ExecStart改成
ExecStart=/usr/bin/dockerd --insecure-registry reg.test.com -H fd:// $DOCKER_OPTS
2)也可以通过修改 /etc/docker/daemon.json(mac在~/.docker/daemon.json)
{
"insecure-registries": ["reg.test.com"]
}
默认账号密码是
admin Harbor12345
注:myproject需要在Harbor新建
docker build -t myproject/myrepo:mytag .
docker tag myproject/myrepo:mytag reg.test.com/myproject/myrepo:mytag
docker push reg.test.com/myproject/myrepo:mytag
三 总结
1遇到问题
- https问题
Error response from daemon: Get https://reg.test.com:8081/v2/: http: server gave HTTP response to HTTPS client
- 如果修改了docker-compose.yml的http端口后,记得同时修改harbor.cfg里面的hostname
然后再执行./install.sh,否则会docker login失败