blank的编程之路


  • 首页

  • 归档

  • 搜索
consul atomikos mybatisplus druid nexus nas named bind mysqldump acme.sh Dockerfile rsync keepalived swarm kibana ubuntu linux scp bugfix https ssl certbot curl gogs adminer harbor yum portainer python kubernetes idea java springboot maven docker-compose redis nginx mysql brew git chocolatey jenkins elasticsearch docker haproxy rabbitmq centos

Docker 运行 Docker 私服 Harbor

发表于 2019-08-07 | 分类于 运维 | 0 | 阅读次数 565

安装 harbor

harbor 依赖 docker docker-compose 详细请参见 centos7 yum 安装 docker-ce & docker-compose

安装 docker && docker-compose

# 安装 docker 安装依赖
yum install -y yum-utils  device-mapper-persistent-data lvm2  
# 添加 docker 阿里云 repo 源
yum-config-manager --add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装 docker
yum install docker-ce docker-ce-cli containerd.io
docker -v
# 配置 docker 163 国内加速镜像
cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF
# 启动 docker && 开机自动启动
systemctl start docker && systemctl enable docker

# 安装 docker-compose
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 其中 docker-compose 需要用到 epel 源 我们使用阿里的 epel 源
wget -O /etc/yum.repos.d/epel-aliyun.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum clean all && yum makecache
yum install -y docker-compose

获取官方离线安装包 并解包到 /docker/harbor (国内网络需要自行解决访问问题)

wget -O /docker/harbor-offline-installer-v1.9.1.tgz https://storage.googleapis.com/harbor-releases/release-1.9.0/harbor-offline-installer-v1.9.1.tgz && \
cd /docker && tar xvf harbor-offline-installer-v1.9.1.tgz
harbor/harbor.v1.9.1.tar.gz
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/harbor.yml

修改 harbor/harbor.yml 文件

harbor-yml-edit

执行安装脚本

sudo install.sh

harbor-install-sh-step-1 harbor-install-sh-step-2

安装完成会自动启动

因为 Harbor 是基于 docker-compose 运行的 我们可以通过 docker-compose 来管理 Harbor 服务 harbor-docker-compose-ps

启动完成 访问 服务器域名/ip 端口

前面 harbor.yml 配置文件中配置的
输入 admin 密码 点击登陆 harbor-login

登陆后 harbor 系统主界面

harbor-home

测试 docker 私服

我们点击新建项目

输入项目名称 harbor-create-new-project

新建项目成功

harbor-create-new-project-success

点击刚刚新建的项目名称 进入项目管理

harbor-project-push-docker-image

首先我们更换一台电脑 登陆 harbor

如果登陆连接被拒绝如图 这是因为 docker 默认强制使用 443 端口来建立加密连接 而我们只配置了 http 80 代理 没有配置 443 及证书 也没有 配置外部的 nginx 443 代理 harbor-docker-login-fail-during-non-https

我们可以将 harbor ip 添加到 /etc/docker/daemon.json 的 insecure-registries 中 来解决

harbor-docker-daemon-json-edit-add-insecure-registries

修改完成重启 docker

harbor-docker-restart

重新登陆 harbor

harbor-docker-login-success

登陆成功后 以后再次登陆都不会再要求输入账号密码了

harbor-docker-login-success-without-psw

push 测试

harbor-docker-push-test 我们可以看到已经 push 成功
并且 harbor 管理页面对应的项目里面也有我们刚刚推送的镜像 harbor-docker-push-success

pull 测试

我们先删除本地镜像
然后从harbor 重新 pull 下来 harbor-docker-pull-test

DONE

停止 harbor 服务

# 进入到 harbor 安装目录有 docker-compose.yml 文件的目录中执行
docker-compose down

启动 harbor 服务

# 如果有修改配置文件 
先停止服务后 再在 harbor 安装目录(/docker/harbor)执行 否则修改配置不生效 
sudo install.sh
# 如果没有修改配置文件 
# 在 harbor 安装目录(/docker/harbor)执行即可启动 harbor 服务
docker-compose up -d
  • 本文作者: blank
  • 本文链接: https://blankhang.com/2019/08/07/201908071303
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# consul # atomikos # mybatisplus # druid # nexus # nas # named # bind # mysqldump # acme.sh # Dockerfile # rsync # keepalived # swarm # kibana # ubuntu # linux # scp # bugfix # https # ssl # certbot # curl # gogs # adminer # harbor # yum # portainer # python # kubernetes # idea # java # springboot # maven # docker-compose # redis # nginx # mysql # brew # git # chocolatey # jenkins # elasticsearch # docker # haproxy # rabbitmq # centos
yum 常见问题分析总结
yum 教程
© 2021 blank
Everything is energy and everything has a frequency