安装Docker

安装harbor依赖docker和docker-compose,先要安装这两个程序。
介绍安装可访问外网的情况下,安装稳定版本的Docker的步骤:

  1. 更新系统:yum update
  2. 卸载旧版本的Docker:

    1. yum remove docker \
    2. docker-client \
    3. docker-client-latest \
    4. docker-common \
    5. docker-latest \
    6. docker-latest-logrotate \
    7. docker-logrotate \
    8. docker-engine
  3. 安装Docker依赖项:yum install -y yum-utils,提供yum-config-manager访问工具

  4. 添加Docker仓库:yum-config-manager —add-repo https://download.docker.com/linux/centos/docker-ce.repo
  5. 安装Docker Engine:yum install docker-ce docker-ce-cli containerd.io
  6. 启动Docker服务:systemctl start docker
  7. 配置Docker开机启动:systemctl enable docker
  8. 查看Dokcer状态:systemctl status docker

    安装docker-compose

    01 使用yum安装docker-compose

    1. yum install docker-compose -y

    02 pip安装docker-compose

    1. # 先安装pip
    2. yum -y install epel-release
    3. yum -y install python-pip
    4. # 安装docker-compose
    5. pip3 install docker-compose
    6. # 查看docker-compose
    7. docker-compose version

    03下载文件

    1. curl -L https://get.daocloud.io/docker/compose/releases/download/v2.0.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    为docker-compose文件赋予可执行权限
    1. chmod +x /usr/local/bin/docker-compose
    查看docker-compose版本
    1. docker-compose version
    最后方法,经常会由于网络问题安装不成功。

    安装harbor

    Harbor支持在线和离线安装方式,这里,建议使用离线方式【体积小】,先下载Harbor安装包:https://github.com/goharbor/harbor/releases
    1. wget https://github.com/vmware/harbor/releases/download/v2.3.4/harbor-online-installer-v2.3.4.tgz

    解压离线安装包

    1. tar -zxvf harbor-offline-installer-v2.1.3.tgz -C /usr/local/
    使用tar命令解压到/usr/local/目录下

    配置harbor

    1. cd /usr/local/harbor/ #进入到harbor目录
    2. mv harbor.yml.tmpl harbor.yml #重命名harbor.yml.tmpl
    3. vi harbor.yml #编辑harbor的配置文件
    1. # 修改yml的
    2. hostname: 1.116.36.35
    3. http:
    4. port: 8088
    5. # https:
    6. # port: 443
    7. # certificate: /your/certificate/path
    8. # private_key: /your/private/key/path
    9. harbor_admin_password: 123456
    10. data_volume: /harbor/data
    其他保持不变。

    执行install.sh

    1. # 在 /usr/local/harbor
    2. ./install.sh
    image.png

    harbor安装成功

    打开http://1.123.34.56:8088/harbor/logs
    image.png
    用户名:admin,密码:123456
    登录成功。
    image.png

    配置daemon

    添加harbor地址到Docker信任列表 vi /etc/docker/daemon.json
    1. {
    2. "registry-mirrors":["https://fwvjnv59.mirror.aliyuncs.com"],
    3. "insecure-registries": [
    4. "1.123.34.35:8088"
    5. ],
    6. "live-restore": true
    7. }

    修改daemon后重启docker

    ```bash

    守护进程重启, 不影响容器

    sudo systemctl daemon-reload

重启docker服务,会影响正在运行的容器

sudo systemctl restart docker

关闭docker,不用操作

sudo systemctl stop docker

  1. <a name="Wxc94"></a>
  2. ## 登录 Harbor并推送
  3. ```bash
  4. # 首先登录harbor
  5. docker login -u admin -p 123456 1.123.34.35:8088
  6. # 打镜像tag,docker tag 本地镜像:tag harbro地址:端口/仓库/镜像名:tag
  7. docker tag cicd-front:1.0 1.123.34.35:8088/test/cicd-front:1.0
  8. # 查看打好的镜像
  9. docker images
  10. # 执行推送命令
  11. docker push 1.123.34.35:8088/test/cicd-front:v1.0

登录时报443错,docker login

修改/usr/lib/systemd/system/docker.service 或者修改daemon。上面已经修改了daemon,这里不用操作

  1. systemctl daemon-reload
  2. systemctl restart docker

如果登陆失败,有可能是已经登录。查看docker登录信息

  1. cat /root/.docker/config.json

显示出来登录信息

  1. {
  2. "auths": {
  3. "1.116.36.35:8088": {
  4. "auth": "YWRtaW46MTIzNDU2"
  5. }
  6. },
  7. "HttpHeaders": {
  8. "User-Agent": "Docker-Client/18.03.1-ce (linux)"
  9. }
  10. }

输出结果中,auth 后面接的一串是经过base64编码后的用户名和密码信息,这里将其解码:

  1. echo YWRtaW46MTIzNDU2 | base64 -d
  2. # admin:123456

在test仓库可以查看到镜像
image.png

从Harbor下载镜像

  1. docker pull 1.123.34.35:8088/test/cicd-front:1.0

harbor报错时重启

  1. # harbor重启
  2. docker-compose down
  3. docker-compose up -d

用户
admin 123456
shenshuai sS123456
liudehua 1qazXDR%