

# 環境

  * windows10 home
  * Docker version 19.03.1, build 74b1e89e8a（Docker toolbox）
  * docker-compose version 1.24.1, build 4667896b

# やろうとしていること

CentOS8のイメージにApacheをインストールし、起動させたいです。  
なお、Apacheが入ってるイメージは意図的に利用していなく、  
本番とCentOSのバージョンなどを合わせるためにやっております。  
（本番はコンテナが使えないので、環境だけでも合わせようとDockerを使っています）

# やったこと

下記のDockerfileを作成しました。

[code]

    FROM centos:8
    
    # CentOSを最新に
    RUN yum update -y
    RUN yum upgrade -y
    
    # タイムゾーンをJSTに
    RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
    
    # 言語を日本語に
    RUN echo "LANG=ja_JP.UTF-8" | tee /etc/sysconfig/i18n
    
    # Apacheを入れる
    RUN yum install -y httpd
    RUN apachectl -v
    RUN systemctl enable httpd
    
    
    CMD ["/sbin/init"]
    
[/code]

これをdocker-compose.ymlから呼び出します。

[code]

    version: '3.7'
    services:
      apache:
        build: './data/apache'
        volumes:
          - ./data/apache/log:/var/log/apache/
          - ./data/apache/conf:/etc/apache2/conf
          - ./data/apache/conf.d:/etc/apache2/conf.d
        ports:
          - 10080:80
    
[/code]

ビルドを行い、起動します

[code]

    docker-compose up -d --build
    
[/code]

ビルド後、プロセスが立ち上がったかの確認

[code]

    $ docker-compose ps                                                                                                     指定されたパスが見つかりません。
         Name          Command     State           Ports
    ------------------------------------------------------------
    apache_1   /sbin/init   Up      0.0.0.0:10080->80/tcp
    
[/code]

何故か「指定されたパスが見つかりません。」と表示されますが…とりあえず起動してそう。

  * 0.0.0.0:10080
  * localhost:10080
  * 127.0.0.1:10080

などにアクセスしましたがつながらりませんでした。

* * *

dockerのイメージにアクセスしてみました。

[code]

    docker-compose exec apache bash
    
[/code]

そこでapacheの状態を見てみようとコマンドを叩くとエラーが出ました。

[code]

    # apachectl status
    System has not been booted with systemd as init system (PID 1). Can't operate.
    Failed to connect to bus: Host is down
    
[/code]

* * *

調べてみると以下のようなものが見つかったので試していきます。

* * *

<https://stackoverflow.com/questions/52197246/system-has-not-been-booted-with-
systemd-as-init-system-pid-1-cant-operate>

> `sudo service redis-server start`を使え

とのことなので、使ってみます。

[code]

    service start apache
    bash: service: command not found
    
[/code]

そもそもserviceコマンドがない…

* * *

[docker for windowsのdockerデーモンを共用する | WSLでdockerのインストールからdocker-composeまで動かす -
Qiita](https://qiita.com/tettsu__/items/85c96850d187e4386c24#docker-for-
windows%E3%81%AEdocker%E3%83%87%E3%83%BC%E3%83%A2%E3%83%B3%E3%82%92%E5%85%B1%E7%94%A8%E3%81%99%E3%82%8B)

docker for windowsを使っていない……

* * *

などです。  
他にも見ましたが、似たようなことばかりでした。

この原因、当たりがつく方がいらっしゃいましたら、解決方法などお知恵をお貸しいただきますと幸いです。  
よろしくお願いいたします。


CC BY-SA 4.0
2019-11-08T07:52:40.400
60358
2020-07-06T11:40:06.537
2020-07-06T11:40:06.537
3060
31257
question
docker apache windows-10 docker-compose
docker-composeでApacheを起動しようとするとコンテナは起動するが、Apache起動しない