環境

  • 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を作成しました。

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"]

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

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

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

docker-compose up -d --build

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

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

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

  • 0.0.0.0:10080
  • localhost:10080
  • 127.0.0.1:10080

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


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

docker-compose exec apache bash

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

# 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

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


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

sudo service redis-server startを使え

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

service start apache
bash: service: command not found

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


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を使っていない……


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

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