[基础服务] [Docker] Harbor 安装和配置

CentOS7 Docker Harbor 安装和配置

环境说明:
操作系统 CentOS 7.x

  • 相关资源包
描述下载
适用于Linux的Docker离线安装包【📁】 docker-20.10.9.tgz
适用于Linux的docker-compose离线安装包【📁】 docker-compose-linux-x86_64
适用于Linux的Harbor【📁】 harbor-offline-installer-v1.10.11.tgz

方法 / 步骤

一:Docker 安装和配置

1.1 解压并配置

# 解压
tar -zxvf docker-20.10.9.tgz

将解压出来的docker文件复制到 /usr/bin/ 目录下

cp docker/* /usr/bin/

1.2 创建并配置docker.service文件

进入/etc/systemd/system/目录,并创建docker.service文件

cd /etc/systemd/system/ touch docker.service

docker.service文件添加以下配置
(注意: --insecure-registry=192.168.0.2 此处改为你自己服务器ip)

[Unit] 

Description=Docker Application Container Engine 
Documentation=https://docs.docker.com 
After=network-online.target firewalld.service 
Wants=network-online.target  


[Service] 

Type=notify 

# the default is not to use systemd for cgroups because the delegate issues still 
# exists and systemd currently does not support the cgroup feature set required 
# for containers run by docker 
ExecStart=/usr/bin/dockerd --selinux-enabled=false --insecure-registry=127.0.0.1
ExecReload=/bin/kill -s HUP $MAINPID 

# Having non-zero Limit*s causes performance problems due to accounting overhead 
# in the kernel. We recommend using cgroups to do container-local accounting. 
LimitNOFILE=infinity 
LimitNPROC=infinity 
LimitCORE=infinity 

# Uncomment TasksMax if your systemd version supports it. 
# Only systemd 226 and above support this version. 
#
TasksMax=infinity 
TimeoutStartSec=0 

# set delegate yes so that systemd does not reset the cgroups of docker containers 
Delegate=yes 

# kill only the docker process, not all processes in the cgroup 
KillMode=process 

# restart the docker process if it exits prematurely 
Restart=on-failure 
StartLimitBurst=3 
StartLimitInterval=60s

[Install] 
WantedBy=multi-user.target

1.3 执行Docker

赋给docker.service文件添加执行权限

chmod 777 /etc/systemd/system/docker.service

重新加载配置文件(每次有修改docker.service文件时都要重新加载下)

systemctl daemon-reload

启动及自启动设置

systemctl start docker
#开启自动启动:
systemctl enable docker.service

查询启动状态:

systemctl status docker

在这里插入图片描述

#docker 命令正常启动
docker 
docker images
docker --version

在这里插入图片描述

1.4 替换镜像

cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://zxnkv11f.mirror.aliyuncs.com"]
} 
EOF
或者
中科大镜像加速:
{
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]     
}
网易163镜像加速:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}

  • 刷新配置 重启Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

二:Docker-compose 安装和配置

  • 把 Docker-compose组件包移动到/usr/bin目录下
    重命名 docker-compose-linux-x86_64 为 docker-compose
mv docker-compose-linux-x86_64 /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
docker-compose -v

在这里插入图片描述

  • 容器编排工具Docker-compose加入和docker一样进入systemd 的管理并且开启自动启动
vi /etc/systemd/system/docker-compose.service

[Unit]
Description=Docker Compose Application Service
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/srv/docker/app/
ExecStart=/usr/bin/docker-compose up -d
ExecStop=/usr/bin/docker-compose down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target
# 复制脚本
chmod 777 /etc/systemd/system/docker-compose.service
# 重新加载
systemctl daemon-reload
# 查看版本
docker-compose -v

三:Harbor 安装和配置

Harbor 的安装需要Docker 和 Docker-compose的提前安装

3.1 解压并配置Harbor

  • 把下载好的离线安装包解压进入harbor目录
    在这里插入图片描述
  • 修改配置文件 harbor.yml
# 数据存放目录 (填写自己的目录)
data_volume: /volume1/docker/harbor7000/data
# 日志存放目录(填写自己的目录)
log: 
	location: /volume1/docker/harbor7000/logs
  • 修改Hostname,http.port,注释掉https,更改harbor_admin_password

在这里插入图片描述

3.1 安装Harbor并启动

# 环境预编译
./prepare
./install.sh

在这里插入图片描述

在这里插入图片描述
安装并启动成功 默认账号密码 admin/ Harbor12345

在这里插入图片描述

3.2 设置开机启动

# 注意这里是/lib 目录下的启动目录 比/etc/systemd/system目录下优先级相对较低

vi /lib/systemd/system/harbor.service
# 添加以下内容
[Unit]
Description=Harbor
After=network.target

[Service]
ExecStart= /usr/local/harbor/docker-compose start

[Install]
WantedBy=multi-user.target
#保存
chmod 777 /lib/systemd/system/harbor.service

四:开启远程访问

默认的dokcer是不支持远程访问的,需要加点配置,开启Docker的远程访问

4.1 开启Docker (默认端口2375) 远程访问

# 首先查看docker配置文件所在位置
systemctl status docker

# 会输出如下内容:
● docker.service - Docker Application Container Engine
   Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-12-17 14:22:23 CST; 18min ago
     Docs: http://docs.docker.com
 Main PID: 25113 (dockerd)

确定docker配置文件位置在:/etc/systemd/system/docker.service
然后修改该docker.service配置

找到包含ExecStart的这行,添加如下内容:

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
# 笔者修改后的默认配置为
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

在这里插入图片描述

4.2 添加harbor镜像配置

  • 编辑docker的配置文件 /etc/docker/daemon.json 如果没有该文件就创建 daemon.json

注意:这里要写harbor本机在局域网的位置,不要写成127.0.0.1

# 添加harbor镜像地址
{
    "insecure-registries": [
        "http://192.168.11.24:6060"
    ]
}

在这里插入图片描述

4.3 其他常用命令

# 查看docker 配置信息
docker system info
# 后台配置重新加载
systemctl daemon-reload 
# 重启docker服务
systemctl restart docker.service
# 此处可能会出现docker无法启动情况,可能是由于docker.service配置文件修改错误,重新修改一次然后重新执行上述命令即可

# 然后让harbor也重启(停止harbor)
docker-compose down

#启动后台所有服务(启动harbor)
docker-compose up -d

其他常用命令
  • 重启harbor

harbor 通过docker-compose.yml (/usr/local/harbor/)配置文件的形式管理

#停止harbor,停止容器
docker-compose stop
# 启动容器
docker-compose up -d

# 重启docker引擎,harbor退出问题
# 停止harbor
docker-compose down
#加载配置文件
./prepare
#启动后台所有服务
docker-compose up -d

参考资料 & 致谢

[1] centos7.4 docker20最新版本离线安装
[2] 离线安装Harbor

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OxYGC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值