Docker环境准备与搭建Harbor仓库
安装Docker
下载并安装
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
创建配置文件目录
mkdir /etc/docker/
cd /etc/docker/
创建配置文件
vim /etc/docker/daemon.json
配置文件如下,
不安全的registry中增加了harbor地址
各个机器上bip网段不一致,bip中间两段与宿主机最后两段相同,目的是方便定位问题
{
"graph": "/data/docker",
"storage-driver": "overlay2",
"insecure-registries": ["registry.access.redhat.com","quay.io","harbor.XXXX.com"],
"registry-mirrors": ["https://qdloedv0.mirror.aliyuncs.com"],
"bip": "172.1.21.1/24",
"exec-opts": ["native.cgroupdriver=systemd"],
"live-restore": true
}
启动docker
systemctl start docker
systemctl enable docker
安装Harbor
下载地址:https://github.com/goharbor/harbor/releases
官方地址:https://goharbor.io/
参考地址:https://www.yuque.com/duduniao/trp3ic/ohrxds#9Zpxx
这里下载的最新版v2.3.1
目录说明
/opt/src
: 源码、文件下载目录
/opt/release
: 各个版本软件存放位置
/opt/apps
: 各个软件当前版本的软链接
下载源码
cd /opt/src
wget https://github.com/goharbor/harbor/releases/download/v2.3.1/harbor-offline-installer-v2.3.1.tgz
mv harbor harbor-v2.3.1
ln -s /opt/release/harbor-v2.3.1 /opt/apps/harbor
配置harbor
vim /opt/apps/harbor/harbor.yml
#实验环境仅需要修改如下配置项,生产环境记得修改密码,并配置ssl证书。
#注释掉https相关的部分
hostname: harbor.XXXX.com
data_volume: /data/harbor
location: /data/harbor/logs
#http port改为7000(不是80即可)
#退出后,创建对应目录
mkdir -p /data/harbor/logs
安装nginx,反向代理harbor
# 当前机器中Nginx功能较少,使用yum安装即可。如有多个harbor考虑源码编译且配置健康检查
# nginx配置此处忽略,仅仅使用最简单的配置。
vim /etc/nginx/conf.d/harbor.conf
server {
listen 80;
server_name harbor.od.com;
# 避免出现上传失败的情况
client_max_body_size 1000m;
location / {
proxy_pass http://127.0.0.1:180;
}
}
systemctl start nginx ; systemctl enable nginx
安装docker-compose
docker-compose有很多种安装方式,可以直接yum安装,该方式需要提前准备epel源,且对网络有一定的要求。
yum -y install docker-compose
也可以去直接下载对应的版本,下载地址:
https://github.com/docker/compose/releases
比如下载的1.23.2版本,下载后是一个名为docker-compose-Linux-x86_64 的文件,把文件放到/usr/local/bin
文件夹下并改名:docker-compose
,再添加执行权限:
chmod +x /usr/local/bin/docker-compose
docker命令补全:
yum -y install bash-completion
启动harbor
cd /opt/apps/harbor
./install.sh
等待一段时间后,查看容器
[root@hbgg1-200 harbor]# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------
harbor-core /harbor/entrypoint.sh Up
harbor-db /docker-entrypoint.sh 96 13 Up
harbor-jobservice /harbor/entrypoint.sh Up
harbor-log /bin/sh -c /usr/local/bin/ ... Up 127.0.0.1:1514->10514/tcp
harbor-portal nginx -g daemon off; Up
nginx nginx -g daemon off; Up 0.0.0.0:80->8080/tcp,:::80->8080/tcp
redis redis-server /etc/redis.conf Up
registry /home/harbor/entrypoint.sh Up
registryctl /home/harbor/start.sh Up
配置DNS解析
vim /var/named/od.com.zone
#需要滚动一位序列号
$ORIGIN od.com.
$TTL 600 ; 10 minutes
@ IN SOA dns.od.com. dnsadmin.od.com. (
2021081904 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.od.com.
harbor A 10.10.1.200
dns A 10.10.1.11
浏览器访问harbor.XXXX.com,输入账号密码admin:Harbor12345
新建个项目public,公开。
尝试在下载并推送一个nginx
#拉取nginx镜像
docker pull nginx:1.21.1
#打上本地仓库的tag
docker tag nginx:1.21.1 harbor.XXXX.com/public/nginx:1.21.1
#登陆,输入用户名admin,密码Harbor12345
docker login harbor.XXXX.com
#或者直接带着用户名和密码的方式输入
docker login --username=harbor --password=Harbor12345 harbor.XXXX.com
#推送
docker push harbor.XXXX.com/public/nginx:1.21.1
此时查看harbor仓库,发现已经把nginx镜像推送上来了.