Mac + DockerToolbox で ssh 可能な CentOS のイメージを作成する
DockerToolbox のインストール
http://docs.docker.com/mac/step_one/ の手順に従ってインストール
Docker Quickstart Terminal の実行
Dockerfile の作成
- Docker 用のディレクトリを作成して Dockerfile の作成
$ mkdir -p /path/to/docker/centos-ssh $ cd /path/to/docker/centos-ssh
FROM centos:6 RUN yum -y install initscripts MAKEDEV RUN yum check RUN yum -y update RUN yum -y install openssh-server passwd # 空パスワードの場合は以下をコメントアウト RUN sed -ri 's/^#PermitEmptyPasswords no/PermitEmptyPasswords yes/' /etc/ssh/sshd_config RUN sed -ri 's/^#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config RUN sed -ri 's/^UsePAM yes/UsePAM no/' /etc/ssh/sshd_config RUN /etc/init.d/sshd start RUN /etc/init.d/sshd stop # 空パスワードの場合は以下をコメントアウト RUN passwd -d root # 任意のパスワードの場合は以下をコメントアウト & パスワードを書き換える # RUN echo 'root:root' | chpasswd EXPOSE 22 CMD /usr/sbin/sshd -D
イメージの作成
$ docker build -t centos-ssh .
コンテナの起動
$ docker run -p 20022:22 -d centos-ssh
ポートフォワーディングの設定
- コンテナ起動時に -p オプションで、コンテナから docker-machine の間のポートフォワーディングの設定を行った
- Mac の場合はさらに、docker-machine と Mac の間のポートフォワーディングの設定を行う必要がある
手順
- アプリケーションから VirtualBox の起動
- "default" を選択して "設定" ボタンを押下
- "ネットワーク" を選択して "ポートフォワーディング" を押下
- ポートフォワード設定の追加
ssh 接続実行
$ ssh -p 20022 root@127.0.0.1