Add ssh client and server to docker containers.

This will allow for future integration tests using ssh to localhost
from within docker containers running on Travis.
This commit is contained in:
Matt Clay 2016-03-19 11:42:23 -07:00
parent e1ee2ed5a5
commit da99e4e0aa
6 changed files with 40 additions and 0 deletions

View file

@ -13,6 +13,8 @@ RUN yum -y install \
subversion \ subversion \
sudo \ sudo \
unzip \ unzip \
openssh-clients \
openssh-server \
which which
RUN yum -y install \ RUN yum -y install \
PyYAML \ PyYAML \
@ -33,5 +35,11 @@ RUN /bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
RUN mkdir /etc/ansible/ RUN mkdir /etc/ansible/
RUN /bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts RUN /bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
#VOLUME /sys/fs/cgroup /run /tmp #VOLUME /sys/fs/cgroup /run /tmp
RUN ssh-keygen -q -t rsa1 -N '' -f /etc/ssh/ssh_host_key
RUN ssh-keygen -q -t dsa -N '' -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -q -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa
RUN cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
RUN for key in /etc/ssh/ssh_host_*_key.pub; do echo "localhost $(cat ${key})" >> /root/.ssh/known_hosts; done
ENV container=docker ENV container=docker
CMD ["/sbin/init"] CMD ["/sbin/init"]

View file

@ -21,6 +21,8 @@ RUN yum -y install \
subversion \ subversion \
sudo \ sudo \
unzip \ unzip \
openssh-clients \
openssh-server \
which which
RUN yum -y install \ RUN yum -y install \
PyYAML \ PyYAML \
@ -38,5 +40,11 @@ RUN /usr/bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
RUN mkdir /etc/ansible/ RUN mkdir /etc/ansible/
RUN /usr/bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts RUN /usr/bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
VOLUME /sys/fs/cgroup /run /tmp VOLUME /sys/fs/cgroup /run /tmp
RUN ssh-keygen -q -t rsa1 -N '' -f /etc/ssh/ssh_host_key
RUN ssh-keygen -q -t dsa -N '' -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -q -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa
RUN cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
RUN for key in /etc/ssh/ssh_host_*_key.pub; do echo "localhost $(cat ${key})" >> /root/.ssh/known_hosts; done
ENV container=docker ENV container=docker
CMD ["/usr/sbin/init"] CMD ["/usr/sbin/init"]

View file

@ -37,11 +37,18 @@ RUN dnf -y install \
tar \ tar \
unzip \ unzip \
which \ which \
openssh-clients \
openssh-server \
yum yum
RUN localedef --quiet -c -i en_US -f UTF-8 en_US.UTF-8 RUN localedef --quiet -c -i en_US -f UTF-8 en_US.UTF-8
RUN /usr/bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers RUN /usr/bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
RUN mkdir /etc/ansible/ RUN mkdir /etc/ansible/
RUN /usr/bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts RUN /usr/bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
VOLUME /sys/fs/cgroup /run /tmp VOLUME /sys/fs/cgroup /run /tmp
RUN ssh-keygen -q -t dsa -N '' -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -q -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa
RUN cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
RUN for key in /etc/ssh/ssh_host_*_key.pub; do echo "localhost $(cat ${key})" >> /root/.ssh/known_hosts; done
ENV container=docker ENV container=docker
CMD ["/usr/sbin/init"] CMD ["/usr/sbin/init"]

View file

@ -37,6 +37,8 @@ RUN dnf -y install \
tar \ tar \
unzip \ unzip \
which \ which \
openssh-clients \
openssh-server \
yum yum
RUN localedef --quiet -f ISO-8859-1 -i pt_BR pt_BR RUN localedef --quiet -f ISO-8859-1 -i pt_BR pt_BR
RUN localedef --quiet -f ISO-8859-1 -i es_MX es_MX RUN localedef --quiet -f ISO-8859-1 -i es_MX es_MX
@ -44,5 +46,10 @@ RUN /usr/bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
RUN mkdir /etc/ansible/ RUN mkdir /etc/ansible/
RUN /usr/bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts RUN /usr/bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
VOLUME /sys/fs/cgroup /run /tmp VOLUME /sys/fs/cgroup /run /tmp
RUN ssh-keygen -q -t dsa -N '' -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -q -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa
RUN cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
RUN for key in /etc/ssh/ssh_host_*_key.pub; do echo "localhost $(cat ${key})" >> /root/.ssh/known_hosts; done
ENV container=docker ENV container=docker
CMD ["/usr/sbin/init"] CMD ["/usr/sbin/init"]

View file

@ -11,6 +11,8 @@ RUN apt-get install -y \
rubygems \ rubygems \
subversion \ subversion \
sudo \ sudo \
openssh-client \
openssh-server \
unzip unzip
# helpful things taken from the ubuntu-upstart Dockerfile: # helpful things taken from the ubuntu-upstart Dockerfile:
@ -60,5 +62,8 @@ RUN /bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
RUN mkdir /etc/ansible/ RUN mkdir /etc/ansible/
RUN /bin/echo -e "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts RUN /bin/echo -e "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts
RUN locale-gen en_US.UTF-8 RUN locale-gen en_US.UTF-8
RUN ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa
RUN cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
RUN for key in /etc/ssh/ssh_host_*_key.pub; do echo "localhost $(cat ${key})" >> /root/.ssh/known_hosts; done
ENV container docker ENV container docker
CMD ["/sbin/init"] CMD ["/sbin/init"]

View file

@ -10,6 +10,8 @@ RUN apt-get install -y \
ruby \ ruby \
subversion \ subversion \
sudo \ sudo \
openssh-client \
openssh-server \
unzip unzip
# helpful things taken from the ubuntu-upstart Dockerfile: # helpful things taken from the ubuntu-upstart Dockerfile:
@ -57,5 +59,8 @@ RUN /bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
RUN mkdir /etc/ansible/ RUN mkdir /etc/ansible/
RUN /bin/echo -e "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts RUN /bin/echo -e "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts
RUN locale-gen en_US.UTF-8 RUN locale-gen en_US.UTF-8
RUN ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa
RUN cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
RUN for key in /etc/ssh/ssh_host_*_key.pub; do echo "localhost $(cat ${key})" >> /root/.ssh/known_hosts; done
ENV container docker ENV container docker
CMD ["/sbin/init"] CMD ["/sbin/init"]