いろいろハマったのでメモ。
ハマりポイントが多すぎて調べきれてないので、一旦成功したDockerfileを書いておく。
Dockerfile
FROM tukiyo3/centos7-ja-systemd
# 必要に応じ
RUN yum -y install systemd-libs-208-11.el7_0.4 systemd-sysv-208-11.el7_0.4
# systemdがupdateされてerrorが発生するためらしい。`
RUN echo 'exclude=systemd*' >> /etc/yum.conf
RUN yum -y update
# install package
RUN yum -y install passwd openssh openssh-server openssh-clients sudo rsync git vim && \
# Create user
useradd docker && \
passwd -f -u docker && \
# Set up SSH
mkdir -p /home/docker/.ssh; chown docker /home/docker/.ssh; chmod 700 /home/docker/.ssh && \
echo "公開鍵" > /home/docker/.ssh/authorized_keys && \
chown docker /home/docker/.ssh/authorized_keys && \
chmod 600 /home/docker/.ssh/authorized_keys && \
# setup sudoers
echo "docker ALL=(ALL) ALL" >> /etc/sudoers.d/docker && \
# Set up SSHD config
sed -ri 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config && \
sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config && \
sed -ri 's/#UsePAM no/UsePAM no/g' /etc/ssh/sshd_config && \
# PAMを利用するときには下記をオフにしないとSSHログインできない
# Centos7からPAMをオフにするのが推奨されてないので、下記設定は必須?
sed -i -e 's/^\(session.*pam_loginuid.so\)/#\1/g' /etc/pam.d/sshd
すでに回避されている方がいたのでそれを丸パクリして、あとはsshdできるようにもろもろ設定してこのような形になりました。もう少し細かい部分まで調べておきたいですね。