5554


お世話になります

先日Dockerで質問させてもらったばかりなのですが、また質問させてください  
先日試したことを、今度はcentos7のDockerで試してみたく、トライしてるのですが、サービスをうまく起動させることができず、苦戦しております

[code]

    [shiratsu@localhost centos7]$ cat Dockerfile
    # SSH-DOCKER
    #
    # VERSION       1
    
    FROM centos
    
    MAINTAINER shiratsu
    
    RUN yum swap -y -- remove fakesystemd -- install systemd systemd-libs && yum clean all
    RUN yum -y update && yum clean all
    
    #Dev tools for all Docker
    RUN yum -y install git vim
    
    RUN yum -y install passwd openssh openssh-server openssh-clients sudo
    
    
    # create user
    
    RUN useradd shiratsu
    RUN passwd -f -u shiratsu
    RUN mkdir -p /home/shiratsu/.ssh;chown shiratsu /home/shiratsu/.ssh; chmod 700 /home/shiratsu/.ssh
    ADD ./authorized_keys /home/shiratsu/.ssh/authorized_keys
    RUN chown shiratsu /home/shiratsu/.ssh/authorized_keys;chmod 600 /home/shiratsu/.ssh/authorized_keys
    
    # setup sudoers
    RUN echo "shiratsu ALL=(ALL) ALL" >> /etc/sudoers.d/shiratsu
    
    # setup sshd
    #ADD systemctl /usr/bin/systemctl
    #ADD dbus.service /etc/systemd/system/dbus.service
    #RUN ln -sf dbus.service /etc/systemd/system/messagebus.service
    
    ADD ./sshd_config /etc/ssh/sshd_config
    RUN /usr/bin/systemctl enable sshd.service;/usr/bin/systemctl start    sshd.service;/usr/bin/systemctl stop sshd.service
    
    # expose for sshd
    EXPOSE 2222
    
    CMD ["/usr/sbin/sshd","-D"]
    
[/code]

カーネルのアップデートをしないとsysコマンドは実行できないようですので、アップデートをしようとしてるのですが、うまくいかず、ハマっております  
<http://qiita.com/zkangaroo/items/a3e1cd4b4d28a7c12e14>

最後のmake module_install installでこけてしまいます  
<http://www.tecmint.com/kernel-3-5-released-install-compile-in-redhat-centos-
and-fedora/>

[code]

    INSTALL /lib/firmware/kaweth/trigger_code_fix.bin
    INSTALL /lib/firmware/ti_3410.fw
    INSTALL /lib/firmware/ti_5052.fw
    INSTALL /lib/firmware/mts_cdma.fw
    INSTALL /lib/firmware/mts_gsm.fw
    INSTALL /lib/firmware/mts_edge.fw
    INSTALL /lib/firmware/edgeport/boot.fw
    INSTALL /lib/firmware/edgeport/boot2.fw
    INSTALL /lib/firmware/edgeport/down.fw
    INSTALL /lib/firmware/edgeport/down2.fw
    INSTALL /lib/firmware/edgeport/down3.bin
    INSTALL /lib/firmware/whiteheat_loader.fw
    INSTALL /lib/firmware/whiteheat.fw
    INSTALL /lib/firmware/keyspan_pda/keyspan_pda.fw
    INSTALL /lib/firmware/keyspan_pda/xircom_pgs.fw
    DEPMOD  3.5.0
    /usr/src/linux-3.5/scripts/depmod.sh: line 37:  7557 強制終了            "$DEPMOD"   "$@" "$KERNELRELEASE"
    make: *** [_modinst_post] エラー 137
    
[/code]

他にも、それっぽいの試してるのですが、うまくいかず、どこをどうしたらよいのやらという感じです  
よろしくお願いします。


CC BY-SA 3.0
2015-01-29T01:33:38.287
5544
2015-01-30T10:14:23.233
2015-01-30T10:14:23.233
403
403
question
vagrant centos docker
Dockerfileから、centos7のサービスを起動したい


vagrant をお使いだったと思うので CoreOS を入れてやると割と楽に実現できます。

  * vagrant に CoreOS を導入
[code]     $ git clone https://github.com/coreos/coreos-vagrant.git  
    $ cd coreos-vagrant 
    $ vagrant up
    ...
    
[/code]

  * CoreOS に入って CentOS 7 を systemd 付きで導入
[code]     $ vagrant ssh

    Last login: Thu Xxx xx xx:xx:xx xxxx from xx.xx.xx.xx
    CoreOS alpha (561.0.0)
    core@core-01 ~ $ mkdir centos7_systemd
    core@core-01 ~ $ cd centos7_systemd
    core@core-01 ~ $ vi Dockerfile
    core@core-01 ~ $ sudo docker build -t centos7_systemd .
    ...
    
[/code]

    * Dockerfile 
[code]         FROM centos:centos7

        
        RUN yum swap -y fakesystemd systemd initscripts
        CMD ["/sbin/init", "3"]
        
[/code]

  * 起動して nsenter で侵入(動作を見るので port 22 -> 10022 をかけておく)
[code]     core@core-01 ~ $ sudo docker run --privileged -d -p 10022:22 --name
test_name centos7_systemd

    core@core-01 ~ $ sudo nsenter --target $(sudo docker inspect --format '{{.State.Pid}}' test_name) --mount --uts --ipc --net --pid
    
[/code]

  * コンテナ内でいろいろ段取りする
[code]     [root@93a9849d14ba /]# yum install -y openssh-server

    ...
    [root@93a9849d14ba /]# echo 'root:changeit' | chpasswd
    [root@93a9849d14ba /]# sed -ri 's/^#PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
    [root@93a9849d14ba /]# systemctl enable sshd
    [root@93a9849d14ba /]# systemctl start sshd
    [root@93a9849d14ba /]# exit
    
[/code]

  * CoreOS から ssh してみる。
[code]     core@core-01 ~ $ ssh root@localhost -p 10022

    
[/code]


CC BY-SA 3.0
2015-01-29T05:11:58.577
5554
2015-01-29T05:11:58.577
2992
5544
answer