上一篇 教你写Dockerfile并上传DockerHub
清空你的杯子,方能再行注满,空无以求全。------ Bruce Lee
上一节课程根据冷老师所说,已经安装docker-compose。
这里再强调记录一下:
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
版本查看:
docker version
docker-compose version
直接选择编译好的包,这里有两个包Harbor offline installer 和 Harbor online installer,
两者的区别的是 Harbor offline installer 里就包含的 Harbor 需要使用的镜像文件。
下载成功,并解压
tar -zxvf harbor-offline-installer-v1.9.3.tgz /root/
cd harbor
vi harbor.yml
sh install.sh
特殊情况:需要修改配置,docker版本问题等排查
默认访问账号: admin/Harbor12345
#可以进入配置文件修改
默认访问端口: 80
harbor.yml 是这个项目的配置文件
将 hostname 改成你本机的网址或IP
# 网址或IP,公网访问要写公网IP,或者写域名
hostname = A.B.C.D
修改完配置文件后,运行
sh install.sh
在harbor目录下面进行操作命令,如下:
停止服务: docker-compose stop
开始服务: docker-compose start
新建一个项目,命名为 pig4cloud,并设置访问级别为公开。这里的项目就是一私有化的Docker镜像仓库。
docker 默认是按https请求的,所以需要修改docker配置,将信任的库的地址写上
“A.B.C.D”改成 “IP:PORT”
修改文件vim /etc/docker/daemon.json
{
"insecure-registries": [
"IP:PORT"
]
}
进行systemctl daemon-reload
然后重启docker systemctl restart docker
将hello-k8s制作成一个私有镜像, hello-k8s为我之前从dockerhub上拉取的镜像。
# docker tag IP:PORT/pig4cloud/hello-k8s:0.0.1
docker tag pig A.B.C.D/pig4cloud/hello-k8s:0.0.1
docker login IP:PORT
docker push IP:PORT/pig4cloud/hello-k8s:0.0.1
从后台已经能看到这个镜像
[root@blockgo k8s-nginx]# docker login IP:PORT
Username: huangbosbos
Password:
Error response from daemon: Get https://IP:PORT/v2/: http: server gave HTTP response to HTTPS client
修改配置/etc/docker/daemon.json
地址为IP:PROT
后正常,如下:
[root@blockgo ~]# docker login IP:PORT
Username: huangbosbos
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root@blockgo k8s-nginx]# docker push IP:PORT/pig4cloud/hello-k8s
The push refers to repository [IP:PORT/pig4cloud/hello-k8s]
7c2f050e271f: Pushing 4.096kB
4fc1aa8003a3: Retrying in 1 second
5fb987d2e54d: Retrying in 1 second
831c5620387f: Retrying in 1 second
EOF
TODO 可能是nginx上传文件限制配置问题,暂时没有深入,就直接改成IP配置一下可以使用了。