• (转)Harbor重启失败


    harbor版本:
    v1.10.2

    遇到问题:
    使用 docker-compose down命令关闭harbor,然后使用./install.sh --with-chartmuseum命令重新安装带chart仓库的harbor,然后发现启动不了,报以下错误:

    [Step 5]: starting Harbor ...
    Creating network "harbor_harbor" with the default driver
    Creating network "harbor_harbor-chartmuseum" with the default driver
    Creating harbor-log ... done
    Creating redis      ... 
    Creating registryctl ... 
    Creating harbor-portal ... error
    Creating chartmuseum   ... 
    Creating harbor-db     ... 
    Creating registryctl   ... error
    
    ERROR: for harbor-portal  Cannot start service portal: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused
    
    ERROR: for chartmuseum  Cannot start service chartmuseum: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused
    Creating redis         ... error
    ERROR: for registryctl  Cannot start service registryctl: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused
    
    Creating registry      ... error
    
    ERROR: for registry  Cannot start service registry: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused
    
    ERROR: for redis  Cannot start service redis: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused
    
    ERROR: for portal  Cannot start service portal: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused
    
    ERROR: for chartmuseum  Cannot start service chartmuseum: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused
    
    ERROR: for registryctl  Cannot start service registryctl: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused
    
    ERROR: for postgresql  Cannot start service postgresql: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused
    
    ERROR: for registry  Cannot start service registry: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused
    
    ERROR: for redis  Cannot start service redis: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused
    ERROR: Encountered errors while bringing up the project.

    使用docker-compose ps查看容器,发现harbor-log容器一直在重启。

    [root@harbor harbor]# docker-compose ps
        Name                   Command                 State      Ports
    -------------------------------------------------------------------
    chartmuseum     ./docker-entrypoint.sh           Exit 128          
    harbor-db       /docker-entrypoint.sh            Exit 128          
    harbor-log      /bin/sh -c /usr/local/bin/ ...   Restarting        
    harbor-portal   nginx -g daemon off;             Exit 128          
    redis           redis-server /etc/redis.conf     Exit 128          
    registry        /home/harbor/entrypoint.sh       Exit 128          
    registryctl     /home/harbor/start.sh            Exit 128 

    使用docker logs -f harbor-log查看harbor-log日志:

    [root@harbor harbor]# docker logs -f harbor-log 
    sudo: Account or password is expired, reset your password and try again
    sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
    Changing password for root.
    sudo: unable to change expired password: Authentication token manipulation error
    sudo: Account or password is expired, reset your password and try again
    sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
    sudo: unable to change expired password: Authentication token manipulation error
    Changing password for root.
    sudo: Account or password is expired, reset your password and try again
    Changing password for root.
    sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
    sudo: unable to change expired password: Authentication token manipulation error
    sudo: Account or password is expired, reset your password and try again
    Changing password for root.
    sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
    sudo: unable to change expired password: Authentication token manipulation error
    sudo: Account or password is expired, reset your password and try again
    sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
    Changing password for root.
    sudo: unable to change expired password: Authentication token manipulation error
    sudo: Account or password is expired, reset your password and try again
    sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
    Changing password for root.
    sudo: unable to change expired password: Authentication token manipulation error
    sudo: Account or password is expired, reset your password and try again
    sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
    sudo: unable to change expired password: Authentication token manipulation error
    Changing password for root.
    sudo: Account or password is expired, reset your password and try again
    Changing password for root.
    sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
    sudo: unable to change expired password: Authentication token manipulation error
    sudo: Account or password is expired, reset your password and try again
    sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
    sudo: unable to change expired password: Authentication token manipulation error
    Changing password for root.
    sudo: Account or password is expired, reset your password and try again
    Changing password for root.
    sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
    sudo: unable to change expired password: Authentication token manipulation error
    sudo: Account or password is expired, reset your password and try again
    sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
    Changing password for root.
    sudo: unable to change expired password: Authentication token manipulation error

    解决方案

    # 导出harbor-log容器
    mkdir -p /tmp/harbor-log
    cd /tmp/harbor-log
    docker export harbor-log -o harbor-log.tar
    
    # 解压tar包
    tar xvfp harbor-log.tar
    
    # 修改shadow文件的值
    sed -i 's/:90:/:99999:/g' /tmp/harbor-log/etc/shadow
    
    # 将修改后的shadow文件挂载到harbor-log容器内
    mkdir -p /opt/harbor-log-etc/
    cp /tmp/harbor-log/etc/shadow /opt/harbor-log-etc/shadow
    
    # 修改docker-composr.yml文件,harbor-log容器的volumes配置,增加以下配置
          - type: bind
            source: /opt/harbor-log-etc/shadow
            target: /etc/shadow
    # 重启harbor即可
    docker-compose down
    docker-compose up -d

    转自:https://blog.csdn.net/qq_39680564/article/details/107237110

  • 相关阅读:
    Linux recordmydesktop
    linux music play
    linux config NDK
    linux install wireshark
    Linux config cocos
    45 线程池都有哪些状态?
    44 创建线程池有哪几种方式?
    final 不能修饰抽象类和接口
    43 线程的 run() 和 start() 有什么区别?
    42 notify()和 notifyAll()有什么区别?
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/14167819.html
Copyright © 2020-2023  润新知