今天启动harbor时启动失败, 有几个问题, 记录一下:
- 重启docker,报错:
msg=”Error starting daemon: layer does not exist”
解决:只能是清空docker数据目录了,实际上官方还提供了一个略微安全的删除脚本:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 #!/bin/shset -edir="$1"if [ -z "$dir" ]; then{echo 'This script is for destroying old /var/lib/docker directories more safely than'echo ' "rm -rf", which can cause data loss or other serious issues.'echoecho "usage: $0 directory"echo " ie: $0 /var/lib/docker"} >&2exit 1fiif [ "$(id -u)" != 0 ]; thenecho >&2 "error: $0 must be run as root"exit 1fiif [ ! -d "$dir" ]; thenecho >&2 "error: $dir is not a directory"exit 1fidir="$(readlink -f "$dir")"echoecho "Nuking $dir ..."echo ' (if this is wrong, press Ctrl+C NOW!)'echo( set -x; sleep 10 )echodir_in_dir() {inner="$1"outer="$2"[ "${inner#$outer}" != "$inner" ]}# let's start by unmounting any submounts in $dir# (like -v /home:... for example - DON'T DELETE MY HOME DIRECTORY BRU!)for mount in $(awk '{ print $5 }' /proc/self/mountinfo); domount="$(readlink -f "$mount" || true)"if dir_in_dir "$mount" "$dir"; then( set -x; umount -f "$mount" )fidone# now, let's go destroy individual btrfs subvolumes, if any existif command -v btrfs > /dev/null 2>&1; thenroot="$(df "$dir" | awk 'NR>1 { print $NF }')"root="${root#/}" # if root is "/", we want it to become ""for subvol in $(btrfs subvolume list -o "$root/" 2>/dev/null | awk -F' path ' '{ print $2 }' | sort -r); dosubvolDir="$root/$subvol"if dir_in_dir "$subvolDir" "$dir"; then( set -x; btrfs subvolume delete "$subvolDir" )fidonefi# finally, DESTROY ALL THINGS( set -x; rm -rf "$dir" )将该脚本保存到本地后运行sh fix.sh /data/docker,清空/data/docker目录,重启docker服务
- docker-compose启动harbor, harbor-log启动失败
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解决:
参考:https://kb.vmware.com/s/article/79497
重新拉取镜像:docker pull goharbor/harbor-log:v1.10.3
修改配置文件,重启成功
0 Comments