2014-07-04

dockerでsshを利用する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
dockerのCentOSの初期イメージは、ものすごくシンプルな内容で最低限のものしか入っていないようです。

まずはsshを利用できるようにしてみました。
とりあえずパスワードでお手軽に入れるものを試してみました。

用意したDockerfileは以下のような感じです。

FROM centos:latest
MAINTAINER vivahiraj
ENV ADD_USER tomato
ENV USER_PWD tomato
RUN yum update -y
RUN yum -y install openssh-server
RUN sed -ri 's/required pam_loginuid.so/optional pam_loginuid.so/g' /etc/pam.d/sshd
RUN /etc/init.d/sshd start
RUN /etc/init.d/sshd stop
RUN useradd -m $ADD_USER
RUN echo $ADD_USER:$USER_PWD | chpasswd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
view raw Dockerfile hosted with ❤ by GitHub

これを用意したら、まずはイメージを作成します。
docker build -t centos/sshd .

コンテナを起動します。
docker run -d -P --name test_sshd centos/sshd

ssh用に割り当てられたポートを確認します。
docker port test_sshd 22

上記で49153が割り当てられていたとしてsshで入ってみます。
ssh tomato@localhost -p 49153

無事に接続できました。

コンテナが不要になったら以下で停止します。
docker stop test_sshd



0 件のコメント: