Some checks failed
Ansible Testing / lint (push) Has been cancelled
Ansible Testing / test (default) (push) Has been cancelled
Ansible Testing / test (minimal) (push) Has been cancelled
Ansible Testing / test (performance) (push) Has been cancelled
Ansible Testing / deploy-check (push) Has been cancelled
- Убраны пакеты: vim, jq, git, htop, tree из всех Dockerfile - Закомментированы установки Docker, Docker Compose, yq - Обновлен Rocky Linux до версии 9 с Python 3 - Исправлена проблема с passlib в ansible-controller - Оставлены только необходимые пакеты: systemd, curl, wget, nano, python3, sudo
55 lines
2.0 KiB
Docker
55 lines
2.0 KiB
Docker
# Rocky Linux с systemd
|
||
# Автор: Сергей Антропов
|
||
# Сайт: https://devops.org.ru
|
||
|
||
FROM rockylinux:9
|
||
|
||
# Обновляем систему
|
||
RUN dnf update -y && dnf upgrade -y
|
||
|
||
# Устанавливаем systemd и необходимые пакеты
|
||
RUN dnf install -y \
|
||
systemd \
|
||
systemd-sysv \
|
||
dbus \
|
||
curl \
|
||
wget \
|
||
nano \
|
||
python3 \
|
||
python3-pip \
|
||
python3-devel \
|
||
sudo \
|
||
&& dnf clean all
|
||
|
||
# Устанавливаем более новую версию Python через pip если нужно
|
||
RUN python3 -m pip install --upgrade pip
|
||
|
||
# Устанавливаем yq (автоматически определяем архитектуру)
|
||
# RUN ARCH=$(uname -m) && \
|
||
# if [ "$ARCH" = "x86_64" ]; then ARCH="amd64"; elif [ "$ARCH" = "aarch64" ]; then ARCH="arm64"; fi && \
|
||
# wget -qO /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${ARCH}" && \
|
||
# chmod +x /usr/local/bin/yq
|
||
|
||
# Устанавливаем Docker
|
||
# RUN dnf install -y dnf-plugins-core \
|
||
# && dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo \
|
||
# && dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||
|
||
# Устанавливаем Docker Compose
|
||
# RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \
|
||
# && chmod +x /usr/local/bin/docker-compose
|
||
|
||
# Настраиваем systemd
|
||
RUN systemctl set-default multi-user.target
|
||
|
||
# Настраиваем sudoers для root и пользователей
|
||
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
|
||
|
||
# Создаем пользователя для Ansible
|
||
RUN useradd -m -s /bin/bash ansible \
|
||
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||
|
||
# Команда по умолчанию (система запускается от root для systemd)
|
||
CMD ["/sbin/init"]
|