Docker

[docker] GitLab 구동 시, logrotate 서비스에서 멈춰 있는 문제

채윤아빠 2023. 12. 20. 21:11
728x90
반응형

문제점 및 증상

GitLab을 업그레이드 하는 과정에서 14.2.7로 업그레이드 할 때, "gitlab-ctl reconfigure" 명령을 수행하였더니 다음과 같이 "wait for logrotate service socket" 부분에서 멈춰 다음 단계로 진행이 되지 않는 문제가 발생하였습니다.

* ruby_block[reload_log_service] action nothing (skipped due to action :nothing)* directory[/opt/gitlab/sv/logrotate] action create (up to date)* template[/opt/gitlab/sv/logrotate/run] action create (up to date)* directory[/opt/gitlab/sv/logrotate/log] action create (up to date)* directory[/opt/gitlab/sv/logrotate/log/main] action create (up to date)* template[/opt/gitlab/sv/logrotate/log/config] action create (up to date)* ruby_block[verify_chown_persisted_on_logrotate] action nothing (skipped due to action :nothing)* link[/var/log/gitlab/logrotate/config] action create (up to date)* template[/opt/gitlab/sv/logrotate/log/run] action create (up to date)
* directory[/opt/gitlab/sv/logrotate/env] action create (up to date)
* ruby_block[Delete unmanaged env files for logrotate service] action run (skipped due to only_if)
* template[/opt/gitlab/sv/logrotate/check] action create (skipped due to only_if)
* template[/opt/gitlab/sv/logrotate/finish] action create (skipped due to only_if)
* directory[/opt/gitlab/sv/logrotate/control] action create (up to date)
* template[/opt/gitlab/sv/logrotate/control/t] action create (up to date)
* link[/opt/gitlab/init/logrotate] action create (up to date)
* file[/opt/gitlab/sv/logrotate/down] action nothing (skipped due to action :nothing)
* directory[/opt/gitlab/service] action create (up to date)
* link[/opt/gitlab/service/logrotate] action create
- create symlink at /opt/gitlab/service/logrotate to /opt/gitlab/sv/logrotate
* ruby_block[wait for logrotate service socket] action run

해결 방안

구글 검색을 통하여 유사한 문제를 겪은 사람이 남긴 댓글 등의 실마리로 하여 다음과 같이 해결하였습니다.

GitLab 컨테이너를 다음과 같이 bash 콘솔모드로 실행합니다.

docker run -it --rm --name gitlab \
 -v /home/service/gitlab/config:/etc/gitlab \
 -v /home/service/gitlab/logs:/var/log/gitlab \
 -v /home/service/gitlab/data:/var/opt/gitlab \
 gitlab/gitlab-ce:14.2.7-ce.0 bash

그리고 난 후에 다음과 같이 명령을 순차적으로 실행하면 "wait for logrotate service socket" 부분도 잘 통과하여 실행이 완료됩니다.

opt/gitlab/embedded/bin/runsvdir-start &

gitlab-ctl reconfigure

이후 GitLab 컨테이너를 다시 정상적으로 실행하면 됩니다.


참고자료