2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Debian(Wheezy)をdocker(/sbin/init)で起動

Last updated at Posted at 2015-11-10

dockerの実行

以前からdockerで最後bash等のシェルで起動するのは抵抗があったんです。
本当は常駐する、apacheとかpostfixとか起動するのが正しいのでしょうけど、自分の場合、個人利用が多いので利用する単位でコンテナ作ったりします。 :sweat_smile:

Dockerfile
   :
ENTRYPOINT ¥
   service apache2 start && ¥
   service postfix start && ¥
   bash --login

このように書いてもいいのですけど、なんかすっきりしないですよね。

debian + apache2 + php5

シンプルな構成でウェブサーバーにPHPをインストール。

Dockerfile
FROM debian:7.9

MAINTAINER takara

WORKDIR /root/

ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get -y install apache2 php5
RUN sed -i -e 's/^\([1-6]:.\+\)/#\1/g' /etc/inittab 
ENV DEBIAN_FRONTEND dialog

EXPOSE 80

CMD ["/sbin/init", "3"]

ビルド

$ docker build -t deb_init:7.9 .

常駐実行

$ docker run -itd --name deb_init -h deb_init deb_init:7.9

中身のプロセス

中に入ってプロセスを覗いてみます。

$ docker exec -it deb_init /bin/bash
root@deb_init:~# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.4  0.1  10660  1640 ?        Ss   10:52   0:00 init [3]    
root      1364  0.1  1.4 134560 15360 ?        Ss   10:52   0:00 /usr/sbin/apache2 -k start
www-data  1379  0.0  0.6 134584  6884 ?        S    10:52   0:00 /usr/sbin/apache2 -k start
www-data  1380  0.0  0.6 134584  6884 ?        S    10:52   0:00 /usr/sbin/apache2 -k start
www-data  1382  0.0  0.6 134584  6884 ?        S    10:52   0:00 /usr/sbin/apache2 -k start
www-data  1383  0.0  0.6 134584  6884 ?        S    10:52   0:00 /usr/sbin/apache2 -k start
www-data  1385  0.0  0.6 134584  6884 ?        S    10:52   0:00 /usr/sbin/apache2 -k start
root      1414  2.6  0.3  17856  3156 ?        S    10:52   0:00 /bin/bash
root      1419  0.0  0.1  15320  1908 ?        R+   10:52   0:00 ps aux

起動プロセスが割りとシンプル(笑)
最初に起動した/sbin/initapacheだけ :notes:
で中に入ったときのbashpsですから。良い感じ。

最初起動した際にはgettyが起動していのでdockerであれば直接繋がってる端末もないので/etc/inittabからsedでコメントアウト

動作確認

ホスト側から「docker inspect deb_init」でIPを調べアパッチへアクセス。

$ wget -O- 172.17.1.66
--2015-11-10 19:55:46--  http://172.17.1.66/
172.17.1.66:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 177 [text/html]
`STDOUT' に保存中

 0% [                                                                               ] 0           --.-K/s              <html><body><h1>It works!</h1>
<p>This is the default web page for this server.</p>
<p>The web server software is running but no content has been added, yet.</p>
</body></html>
100%[==============================================================================>] 177         --.-K/s 時間 0s      

2015-11-10 19:55:46 (25.1 MB/s) - stdout へ出力完了 [177/177]

apacheの初期状態のページ「It works!」がでてますね。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?