blog.monophile.net

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、情報科学芸術大学院大学[IAMAS]においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。 また、計算を主題に制作を行い、現代音楽作品や公共インスタレーション作品など技術提供を行う。 三輪眞弘に師事する。

List

sshできるdockerインスタンス

概要

dockerでsshできるインスタンスを作ったときのメモ。 ansibleで主なインストール作業をするために、Dockerfileはなるべく最小限にした。

目標

files

ファイル構造は以下の通り

$ tree
.
├── centos
│   ├── Dockerfile
│   └── .bashrc

Dockerfile

FROM centos
ADD .bashrc /root/.bashrc
RUN yum update -y
RUN yum install -y openssh-server initscripts
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 echo "password" | passwd --stdin root
RUN /bin/systemctl enable sshd
CMD /sbin/init

docker network

$ sudo docker network create --subnet=192.168.100.0/24 mynet
$ sudo docker network inspect mynet

docker build

$ sudo docker build -t my/centos_ssh ./centos

docker run

$ sudo docker run -d --privileged --name centos_ssh_instance --net=mynet --ip=192.168.100.10 my/centos_ssh

ssh to instance

$ ssh root@192.168.100.10