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
				
			- Добавлен флаг --allowerasing для разрешения конфликтов curl-minimal vs curl - Позволяет заменить curl-minimal на полную версию curl
		
			
				
	
	
		
			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 --allowerasing \
 | ||
|     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"]
 |