安装 Docker
# 下载 Docker 二进制包
[root@k8s-master01 ~]# wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.1.tgz
[root@k8s-master01 ~]# tar xf docker-18.09.1.tgz
[root@k8s-master01 ~]# mv /root/docker/* /usr/bin
# 编写 Docker Systemd 管理文件
[root@k8s-master01 ~]# cat /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
# 启动 Docker
[root@k8s-master01 ~]# systemctl start docker
安装 Harbor(需要 Docker 环境)
# 下载 Harbor
[root@k8s-master01 ~]# wget https://github.com/goharbor/harbor/releases/download/v1.8.6/harbor-offline-installer-v1.8.6.tgz
# 解压到 /usr/local,创建软链接,方便日后升级
[root@k8s-master01 ~]# tar xf harbor-offline-installer-v1.8.6.tgz -C /usr/local
[root@k8s-master01 ~]# mv /usr/local/harbor /usr/local/harbor-V1.8.6
[root@k8s-master01 ~]# ln -s /usr/local/harbor-V1.8.6 /usr/local/harbor
# harbor.yml 文件配置 (无 https)
[root@k8s-master01 harbor]# vim harbor.yml
hostname: www.myharbor.com
harbor_admin_password: harbor123
# The default data volume,重新搭建 Harbor 时,需要删除该目录下的数据,否则 Harbor 登录不进去
data_volume: /data
# 安装
[root@k8s-master01 harbor]# ./install.sh
配置域名解析 & 不安全镜像源
# 将私有仓库域名加入本地解析文件
[root@k8s-master01 ~]# vim /etc/hosts
10.0.0.50 www.myharbor.com
# 由于未配置 Https 需要在 daemon.json 中作如下配置
[root@k8s-master01 ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://yyu0sr3j.mirror.aliyuncs.com"],
"insecure-registries": ["www.myharbor.com"]
}
# 重启 Docker
[root@k8s-master01 ~]# systemctl restart docker
# 重启 Harbor 容器
[root@k8s-master01 ~]# docker-compose up -d
登录 Harbor & 推送镜像
Windows 配置域名解析,登录 Harbor 创建新的项目
# 登录私有仓库
[root@k8s-master01 ~]# docker login www.myharbor.com
Username:
Password:
# 打标签 & Push 镜像
[root@k8s-master01 ~]# docker tag java-demo:v1 www.myharbor.com/wangqihan/java-demo:v1
[root@k8s-master01 ~]# docker push www.myharbor.com/wangqihan/java-demo:v1