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.
コメント