У меня есть файл docker-compose.yml
с контейнером Gitlab CE:
services:
// other services..
gitlab:
image: 'gitlab/gitlab-ce'
restart: always
ports:
- '80:80'
- '443:443'
- '22:22'
- "127.0.0.1:8081:80"
volumes:
- '/etc/gitlab'
- '/var/log/gitlab'
- '/var/opt/gitlab'
networks:
- backend
При запуске требуется открыть браузер, перейти к (в данном случае) localhost:8081
и вручную ввестипароль.
Я бы хотел, чтобы этот процесс был автоматизирован (для локальной разработки и тестирования).
Собственные ответы Gitlab:
gitlab-rails console production
user = User.where(id: 1).first
user.password = 'somethingsomething'
user.password_confirmation = 'somethingsomething'
user.save!
exit
Что сработает, если яssh в контейнер Gitlab CE после того, как все настроено (занимает минуты).
Запуск этого напрямую через command
не работает - возможно, потому что gitlab-rails console
не готов к работе еще в ту минуту, когда контейнер
Я пытался вручную создать Dockerfile
с изображением gitlab/gitlab-ce
, использовал COPY
, чтобы вставить вышеуказанный скрипт в контейнер и CMD
его.Однако, как и предполагалось, это не удается, так как gitlab-rails console
еще не готов при запуске.Это займет некоторое время.
В идеале сценарий запускается, устанавливает Gitlab и выполняет все настройки; затем автоматически устанавливает пароль администратора root.