Docker でApache HTTPD Serverで起動エラー

Docker上にCentOS7でApacheを起動するとエラーとなる。

環境はM1 Mac対応のDockerプレビューバージョン

% docker -v
Docker version 20.10.1, build 831ebeae96

CentOS7のイメージでコンテナ起動。contos-volは予め作成したDockerのvolume

docker run --privileged -d --platform linux/amd64 --name centos7 --mount source=contos-vol,target=/var centos:centos7

コンテナ起動後に /bin/bashにてコンテナに入る

docker exec -it centos7 /bin/bash

コンテナ内で作業。
yumコマンドにてapacheをインストール後にsystemctlコマンドで実行するもエラーとなる。

# yum install -y httpd
# systemctl start httpd
Failed to get D-Bus connection: Operation not permitted

対処

起動の仕方を変更する –privileged オプションをつけて、/sbin/init を実行する

docker run --privileged -d --platform linux/amd64 --name web-db --mount source=contos-vol,target=/var centos:centos7 /sbin/init 

先程と同様に コンテナに入る

docker exec -it centos7 /bin/bash

コンテナで作業

# yum install -y httpd
# systemctl start httpd

無事起動。確認コマンドを実行

# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-03-18 07:43:21 UTC; 11min ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 357 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /docker/bda932e6fea634f18923da35061a61b638ae8f7f375c767c38f42cb3ab175c6e/system.slice/httpd.service
           ├─357 /usr/bin/qemu-x86_64 /usr/sbin/httpd -DFOREGROUND
           ├─360 /usr/bin/qemu-x86_64 /usr/sbin/httpd -DFOREGROUND
           ├─362 /usr/bin/qemu-x86_64 /usr/sbin/httpd -DFOREGROUND
           ├─364 /usr/bin/qemu-x86_64 /usr/sbin/httpd -DFOREGROUND
           ├─365 /usr/bin/qemu-x86_64 /usr/sbin/httpd -DFOREGROUND
           └─366 /usr/bin/qemu-x86_64 /usr/sbin/httpd -DFOREGROUND
           ‣ 357 /usr/bin/qemu-x86_64 /usr/sbin/httpd -DFOREGROUND
Mar 18 07:43:21 bda932e6fea6 systemd[1]: Starting The Apache HTTP Server...
Mar 18 07:43:21 bda932e6fea6 httpd[357]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' dire...this message
Mar 18 07:43:21 bda932e6fea6 systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

コメント

タイトルとURLをコピーしました