docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker私有镜像中心Harbor

Docker搭建私有镜像中心Harbor的详细过程

作者:NE_STOP

这段文章详细介绍了如何搭建私有Docker镜像中心Harbor,包括从阿里云注册账号到配置私bor私镜像中心的具体步骤,感兴趣的朋友跟随小编一起看看吧

公网镜像中心

Docker Hub 和阿里云都是Docker 的公网镜像中心,用户可以将镜像push到镜像中心的镜像仓库里,可以将仓库设为私有库,他人无法访问,保证镜像安全。

但是,实际工作中,一般在公司内部搭建一个私有镜像中心。

发布镜像到阿里云

这里选择本地仓库。

登录阿里云镜像中心

docker login --username=dt_5224810793 crpi-8nnmc9aojy1lrfpp.cn-chengdu.personal.cr.aliyuncs.com

复制并重命名镜像

docker tag hello-my-world crpi-8nnmc9aojy1lrfpp.cn-chengdu.personal.cr.aliyuncs.com/ali_1/ali_1_ck:1.0

推送镜像

docker push crpi-8nnmc9aojy1lrfpp.cn-chengdu.personal.cr.aliyuncs.com/ali_1/ali_1_ck:1.0

此时就推送成功了!

登出阿里云仓库

docker logout crpi-8nnmc9aojy1lrfpp.cn-chengdu.personal.cr.aliyuncs.com

私有镜像中心

htpasswd命令

registry 私有镜像中心默认没有用户认证功能,可通过htpasswd来实现用户认证!

htpasswd用于创建、更新http基本认证的密码文件。

安装httpd-tools

htpasswd 需要先安装httpd-tools 工具包

yum install -y httpd-tools

创建文件并添加用户

创建/root/auth 目录并进入。在其中存放生成的认证文件

# 指定用户zhangsan 密码123 并写入到auth目录中的htpasswd.user文件中
htpasswd -Bbc htpasswd.user zhangsan 123
# 再创建两个用户,此时无需选项-c
htpasswd -Bb htpasswd.user lisi 123
htpasswd -Bb htpasswd.user wangwu 123

修改密码

# 若指定用户不存在,则添加用户;若存在,就修改密码
htpasswd -Bb htpasswd.user wangwu 456

删除用户名和密码

htpasswd -D htpasswd.user wangwu

使用-n选项创建文件

# -n选项和重定向符可将密码写入到文件,比如将用户名和密码写入当前目录的authfile中
htpasswd -Bbn wangwu 456 > authfile
# 这种情况下修改密码可通过追加重定向符来完成
htpasswd -Bbn Tom 456 >> authfile

容器的退出状态码

退出状态码可以向用户反馈容器中应用的退出方式!

状态码分类

容器退出状态码是【0,255】范围内的整数,分为三类:0、【1,128】、【129,255】

常见状态码如下:

退出状态码的查看方式:docker ps -adocker inspect

容器重启策略

在生产环境下,容器退出后使用手动重启不现实,这时可以使用容器重启策略,在容器创建时指定--restart 选项 不同的值,达到不同的效果。

harbor私有镜像中心[HTTP]

一般私有镜像中心是一台换门的服务器,不用做平时Docker容器的运行管理。其他要对其进行push或pull操作的Docker主机称为Docker客户端。

Harbor 是Go语言开发的一款Registry server 开源项目,在Docker Registry 的基础上进行二次封装。作为一个企业级私有Registry服务器,Harbor提供更好的性能和安全,也提供了方便的web管理界面。

安装Harbor

下载安装包

wget https://github.com/goharbor/harbor/releases/download/v2.6.2/harbor-offline-installer-v2.6.2.tgz

解压安装包

tar -zxvf harbor-offline-installer-v2.6.2.tgz -C /opt/apps/

修改harbor.yml

复制一份harbor解压包中的harbor.yml.tmpl 并重命名为harbor.yml

cp harbor.yml.tmpl harbor.yml

运行prepare

在harbor解压目录中运行prepare命令。该命令会先拉取prepare镜像,然后生成很多的配置文件。

./prepare

运行 install.sh

在harbor解压目录中运行install.sh命令,其会自动完成五步的安装过程,并最后启动很多容器。

./install.sh

此时就可以通过http://IP 进行访问了。

Habor 的启停

Harbor是由10个容器同时运行完成的,而且是同福哦docker-compose完成的容器编排。

Harbor安装完后会在解压目录下生成docker-compose.yml文件,所以Harbor的启停命令都是由docker-compose完成的,且需要在Harbor的解压目录中完成

docker compose stop # 停止
docker compose up -d # 启动

Docker客户端操作

重启Docker引擎

systemctl restart docker

登录私有镜像中心,输入用户名和密码

docker login 192.168.192.101

复制并重命名镜像

通过docker tag 对镜像进行复制并重命名。

重命名镜像的<repository>中采用<domain-name>/<project-name>/<software-name>

如果要区分用户,也可以采用<domain-name>/<project-name>/<username>/<software-name>

docker tag hello-my-world 192.168.192.101/test/admin/hmyw:1.0

推送镜像

docker push 192.168.192.101/test/admin/hmyw:1.0

此时镜像推送完成

登出私有镜像中心

docker logout 192.168.192.101

到此这篇关于Docker--搭建私有镜像中心Harbor的文章就介绍到这了,更多相关Docker私有镜像中心Harbor内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文