CentOSでDockerとChef - その1 -

Dockerのインストール

sudo yum install docker-io --enablerepo=epel
sudo /etc/init.d/docker start

ひな形の作成

  • ホストでの作業

  • パスフレーズなしで鍵を作る

      ssh-keygen -t rsa
    
  • Dockerfile

      FROM    centos
      MAINTAINER      nel215
    
      RUN     yum update -y
      RUN     yum install -y openssh-server
      RUN     yum install -y sudo
      RUN     yum install -y passwd
    
      # create user
      RUN     useradd chef
      RUN     passwd -u -f chef
    
      # sshd
      RUN     sed -i -e "s/^#RSAAuthentication yes/RSAAuthentication yes/g" /etc/ssh/sshd_config
      RUN     sed -i -e "s/^#PubkeyAuthentication yes/PubkeyAuthentication yes/g" /etc/ssh/sshd_config
      RUN     sed -i -e "s/^UsePAM yes/UsePAM no/g" /etc/ssh/sshd_config
      RUN     mkdir -p /home/chef/.ssh
      ADD     ./id_rsa.pub /home/chef/.ssh/authorized_keys
      RUN     chown -R chef /home/chef/.ssh
      RUN     chmod 700 /home/chef/.ssh
      RUN     chmod 600 /home/chef/.ssh/authorized_keys
      RUN     /etc/init.d/sshd start
      RUN     /etc/init.d/sshd stop
    
      RUN     echo "chef      ALL=(ALL) ALL" >> /etc/sudoers.d/chef
    
      EXPOSE  22
      CMD     /usr/sbin/sshd -D
    
    • 作った公開鍵を適当なところに置く
  • selinux無効化

      sudo vim /etc/selinux/config
    
      SELINUX=disabled
    
  • build->run

      sudo docker build -t sshd .
      sudo docker run -d -P sshd 
      sudo docker ps
    
      CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                   NAMES
      a8bf2a22c09d        sshd:latest         /bin/sh -c /usr/sbin   19 minutes ago      Up 19 minutes       0.0.0.0:49156->22/tcp   stoic_feynman    
    
  • sshで接続

      ssh chef@localhost -i ~/.ssh/id_rsa -p 49156  
    

続きは後日…

参考