-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
29 lines (23 loc) · 795 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
ARG OS_IMAGE=ubuntu
FROM $OS_IMAGE
ARG USERNAME=ansible
RUN [ -f /etc/lsb-release ] \
# Ubuntu
&& printf "PKGMANAGER='apt'\nUSERGROUP='sudo'\nCLEANUP='clean'" > /tmp/OSvars \
# Centos
|| printf "PKGMANAGER='yum'\nUSERGROUP='wheel'\nCLEANUP='clean all'" > /tmp/OSvars
RUN bash -c "source /tmp/OSvars \
&& \${PKGMANAGER} update -y && \${PKGMANAGER} install -y \
python3 \
openssh-server \
sudo \
&& \${PKGMANAGER} \${CLEANUP}" \
&& rm -rf /var/lib/apt/lists/* /var/cache/yum
RUN bash -c "source /tmp/OSvars \
&& useradd -m -s /bin/bash -g \${USERGROUP} \${USERNAME} " \
&& echo "${USERNAME}:${USERNAME}" | chpasswd \
&& sudo -u ${USERNAME} mkdir -p /home/${USERNAME}/.ssh \
&& mkdir -p /var/run/sshd \
&& /usr/bin/ssh-keygen -A
EXPOSE 80 22 443
CMD ["/usr/sbin/sshd", "-D"]