Proxmox. Часть 5. Установка Gitlab в виртуальной машине с использованием docker-compose
В 4-ой части мы создали виртуальную машину с ID=200. Воспользуемся ей для установки Gitlab с использованием docker-compose.
Переименуем виртуальную машину в gitlab:
Повысим объем оперативной памяти до 6144 МБ:
Добавим еще одно ядро:
Запустим виртуальную машину и откроем консоль:
Логин и пароль те же, что мы использовали при создании шаблона, на основе которого у нас была клонирована виртуальная машина. Логин — ubuntu, пароль — nickcode.
Установка Docker
Для установки Docker воспользуемся инструкцией https://docs.docker.com/engine/install/ubuntu/ .
Способов установки несколько, но, пожалуй, один из самых удобных — универсальный скрипт установки Docker.
После выполнения скрипта проверим, корректно ли установился Docker:
“Hello from Docker!” – это значит, что Docker установлен успешно!
После установки Docker важно проделать необходимые настройки ( https://docs.docker.com/engine/install/linux-postinstall/ ).
Добавим нашего пользователя (ubuntu) в группу Docker (делаем это только в познавательных целях. В продуктивных системах так делать не рекомендуется):
sudo usermod -aG docker $USER
Активируем наши изменения командой:
newgrp docker
и еще раз запустим hello-world уже без sudo для проверки возможности запуски docker контейнеров из под нашего текущего пользователя ubuntu:
docker run hello-world
Результат должен быть аналогичен результату, который мы получили при запуске с sudo.
Установка GitLab
Перейдем к установке GitLab при помощи docker-compose. Для этого воспользуемся инструкцией https://docs.gitlab.com/ee/install/docker/installation.html .
Создадим директорию для конфигурационных файлов GitLab — /srv/gitlab:
sudo mkdir -p /srv/gitlab
Добавим полномочия для доступа к папке:
sudo chown -R :docker /srv/gitlab
sudo chmod -R 775 /srv/gitlab
Создадим новую переменную окружения:
export GITLAB_HOME=/srv/gitlab
Проверим:
printenv GITLAB_HOME
Воспользуемся готовым конфигурационным файлом docker-compose.yml:
version: '3.6'
services:
gitlab:
image: gitlab/gitlab-ee:<version>-ee.0
container_name: gitlab
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
# Add any other gitlab.rb configuration here, each on its own line
external_url 'https://gitlab.example.com'
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
shm_size: '256m'
Перейдем в директорию /srv/gitlab/ и создадим там файл docker-compose.yml, куда вставим содержимое выше:
cd /srv/gitlab/
nano docker-compose.yml
В файле нам надо сделать корректное имя образа. То есть в строке:
gitlab/gitlab-ee:<version>-ee.0
заменить ‘<version>’ на актуальную версию образа GitLab.
Перейдем на страницу https://hub.docker.com/r/gitlab/gitlab-ee/tags/ и посмотрим последнюю версию образа:
Приводим имя образа к виду:
gitlab/gitlab-ee:17.4.6-ee.0
Сохраняем файл и запускаем контейнер:
docker compose up -d
Дожидаемся скачивания образов и запуска контейнера:
Спустя несколько минут поднятия контейнера можем проверить работоспособность GitLab’а:
Попробуем авторизироваться.
Логин – root.
Пароль узнаем командой в терминале:
sudo cat /srv/gitlab/config/initial_root_password
Поздравляю, у нас успешно получилось запустить GitLab на виртуальной машине в Proxmox при помощи Docker!