1. CentOS6.5(Guest) に monit, sshd をインストールする
    core@localhost ~ $ docker run -i -t -h centos centos:centos6 /bin/bash
    bash-4.1# yum -y install wget
    bash-4.1# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
    bash-4.1# rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
    bash-4.1# yum -y update
    bash-4.1# yum -y install passwd openssh openssh-server openssh-clients sudo monit
    bash-4.1# ls /etc/init.d/
    functions  halt  htcacheclean  httpd  iptables	killall  monit	netconsole  netfs  network  rdisc  restorecond	sandbox  single  sshd  udev-post
    • monit は、RPM Forge で公開されている
      • RPM Forge を yum のレポジトリに加える
      • http://pkgs.repoforge.org/rpmforge-release/ から、適切な RPM をダウンロードしてインストールする
      • ダウンロードするために wget は必要
  2. SSHでログインするユーザの登録
    bash-4.1# useradd docker
    bash-4.1# passwd -f -u docker
    bash-4.1# echo docker | passwd docker --stdin
    bash-4.1# usermod -G wheel docker
    bash-4.1# id docker
    uid=500(docker) gid=500(docker) groups=500(docker),10(wheel)
    • 公開鍵を仕込むのは、docker Dockerfile? でやる
  3. wheel グループのユーザが sudo を使えるようにする
    bash-4.1# visudo
    で、 "#%wheel ALL=(ALL) ALL" のコメントアウトを外す
    ## Allows people in group wheel to run all commands
    %wheel  ALL=(ALL)       ALL
  4. monit の Web UI をどこからでも使えるようにする (今回はお試しなので)
    /etc/monit.conf
    set httpd port 2812 and
        use address 0.0.0.0    # accept connection from any machine
        allow admin:monit      # require user 'admin' with password 'monit'
        allow @monit           # allow users of group 'monit' to connect (rw)
        allow @users readonly  # allow users of group 'users' to connect readonly
  5. monit で sshd を監視する
    /etc/monit.d/ssh.conf
    check process sshd with pidfile /var/run/sshd.pid
      start program = "/etc/init.d/sshd start"
      stop  program = "/etc/init.d/sshd stop"
    • monit は、sshd が動いていなかったら起動する ⇒ Docker の初期プロセスとして monit を起動すると、monit が sshd を起動する
    • pid ファイルは /etc/init.d/sshd のコメントを見よ
  6. Image を commit する
    bash-4.1# exit
    exit
    core@localhost ~ $ docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                          PORTS               NAMES
    a62db2affdf6        centos:centos6      /bin/bash           5 minutes ago       Exited (0) About a minute ago                       compassionate_archimedes
    core@localhost ~ $ docker commit a62db2affdf6 cent6_monit
  7. 仮想 CeontOS6 上で monit を foreground プロセスとして起動する
    core@localhost ~ $ docker run -p 10022:22 -p 12812:2812 -d cent6_monit /usr/bin/monit -I
    a71eb99999161963e82f4c579cdd5fc5f8c3819f5cad01bcf8df3628e107236e
    core@localhost ~ $ docker ps
    CONTAINER ID        IMAGE                COMMAND             CREATED             STATUS              PORTS                                            NAMES
    a71eb9999916        cent6_monit:latest   /usr/bin/monit -I   38 minutes ago      Up 30 minutes       0.0.0.0:10022->22/tcp, 0.0.0.0:12812->2812/tcp   angry_archimedes
    monit は "-I" オプションを付けて foreground で動かす

Docker


添付ファイル: filemonitimg.png 243件 [詳細] filemonit.png 253件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2014-12-13 (土) 23:40:12 (727d)
ISBN10
ISBN13
9784061426061