安装使用docker harbor作为私有docker服务器的操作步骤及遇到的问题
一、ubuntu18.04安装docker harbor步骤及遇到的问题
参照网址:
https://haizei.blog.csdn.net/article/details/86691752?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-86691752-blog-96593333.pc_relevant_blogantidownloadv1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-86691752-blog-96593333.pc_relevant_blogantidownloadv1&utm_relevant_index=2
注意:
①第一次安装不建议修改密码,默认用户名admin,密码Harbor12345即可,否则会出现登录远程docker harbor网页,用户名密码错误的提示;
②使用过程中如果安装dokcer harbor的服务器重启等突发现象,可能会打不开docker harbor网页,需重启该服务,docker-compose up -d,
另外如果出现80端口号被apache占用的现象(用lsof -i :80命令查看),
Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address a lready in use’
需要手动kill 占用apache的进程或者执行apachectl stop停止占用,再执行docker-compose up -d;
参考下图:
③ 进入Harbor的UI界面
(端口默认是80,nginx如果修改了端口映射(比如上面的81:80),那端口就是81):IP:Port
Eg: 10.208.17.169:80
Harbor默认用户名:admin
Harbor默认密码:Harbor12345
我实际安装时未改变端口号,所以登录输入网址10.208.17.169:80
二、关于docker commit及docker pull 和docker push的使用
1.docker commit:
用于打包image;
具体操作:
进入docker,进行操作后,在退出该容器前,另开一个终端,进行commit操作,docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
(例如docker commit -a “runoob.com” -m “my apache” a404c6c174a2 mymysql:v1 ),
然后docker images就能看到tag为v1的名为mymysql的image;
commit的使用参考网址:
参照网址:
https://blog.csdn.net/jerry_liufeng/article/details/119829591?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-119829591-blog-124100443.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-119829591-blog-124100443.pc_relevant_paycolumn_v3&utm_relevant_index=1
注意与网页操作不同处:
实际操作在container退出前另外开一个terminal进行commit操作,而不是exit容器后进行commit;
2.docker push
举例:docker push 名为tomcat_new的image到docker harbor服务器额cyf_test文件夹:
1.打标签
docker tag tomcat_new:1.0 10.208.17.169:80/cyf_test/tomcat_new:1.0
2.push
docker push 10.208.17.169:80/cyf_test/tomcat_new:1.0
3.docker pull
举例:docker pull 远程cyf_test文件夹下tomcat_new的image:
docker pull 10.208.17.169:80/cyf_test/tomcat_new:1.0
注意:pull和push都得指定远程docker harbor的IP地址端口号80(docker harbor服务安装时候端口号为80,所以与之对应)
4、外部机使用docker harbor遇到的问题:
① push上传到远程服务器时最后出现:
Get “https://10.208.17.169:80/v2/”: http: server gave HTTP response to HTTPS client
solution:
1.可能在本地未添加insecure-resgisters:
在/etc/docker/daemon.json下加入远程docker harbor服务器的ip:端口号,我这边是“10.208.17.169:80”
修改后,需重启docker服务:
systemctl daemon-reload
systemctl restart docker
2.push最后出现:denied: requested access to the resource is denied
原因:
docker未远程登录:
执行
docker login 10.208.17.169:80
输入账户名admin密码Harbor12345