인프런 커뮤니티 질문&답변
AH00558 에러
작성
·
235
0
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)
- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다
- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요 강사님, 고생이 많으십니다.
Dockerfile 작성을 위한 주요 명령 익히기3 에서
docker logs [현재 실행중인 도커 컨테이너]
명령어를 해주면 AH00558 에러가 납니다.
수강생이 듣는 시점마다 다른 설정이 있을거라 제 설명이 효과가 있을지는 모르겠습니다. ㅜㅜ
Dockerfile은
FROM httpd:alpine
LABEL maintainer="dream@fun-coding.org"
COPY ./2021_DEV_HTML /usr/local/apache2/htdocs
CMD ["/bin/sh", "-c", "httpd-foreground"]
이렇게 설정한 상태입니다.
이 도커파일로 이미지를 빌드해서 컨테이너로 백그라운드 실행했고, 이 상태에서 docker logs [컨테이너이름]을 입력하니 AH00558 에러가 나온 상태입니다.
해당 에러를 검색해보니 우분투 설정의 경우 apache2.conf에서 ServerName을 설정하라고 하더라구요. 그러기 위해서 /etc/apache2/apache2.conf에서 설정을 바꿔줘야 하는데 저는 /etc에 내부를 ls명령어로 검색해보니 ModemManager hosts.deny profile
PackageKit init.d profile.d
X11 initramfs-tools protocols
acpi inputrc python3
adduser.conf iproute2 python3.12
alternatives iscsi rc0.d
apparmor issue rc1.d
apparmor.d issue.net rc2.d
apport kernel rc3.d
apt landscape rc4.d
bash.bashrc ld.so.cache rc5.d
bash_completion ld.so.conf rc6.d
bash_completion.d ld.so.conf.d rcS.d
bindresvport.blacklist ldap resolv.conf
binfmt.d legal rmt
byobu libaudit.conf rpc
ca-certificates libblockdev rsyslog.conf
ca-certificates.conf libibverbs.d rsyslog.d
chrony libnl-3 screenrc
cloud locale.alias security
console-setup locale.conf selinux
containerd locale.gen sensors.d
credstore localtime sensors3.conf
credstore.encrypted logcheck services
cron.d login.defs sgml
cron.daily logrotate.conf shadow
cron.hourly logrotate.d shadow-
cron.monthly lsb-release shells
cron.weekly lvm skel
cron.yearly machine-id sos
crontab magic ssh
cryptsetup-initramfs magic.mime ssl
crypttab manpath.config subgid
dbus-1 mdadm subgid-
debconf.conf mime.types subuid
debian_version mke2fs.conf subuid-
default modprobe.d sudo.conf
deluser.conf modules sudo_logsrvd.conf
depmod.d modules-load.d sudoers
dhcp mtab sudoers.d
dhcpcd.conf multipath supercat
docker multipath.conf sysctl.conf
dpkg nanorc sysctl.d
e2scrub.conf needrestart sysstat
ec2_version netconfig systemd
environment netplan terminfo
ethertypes network timezone
fonts networkd-dispatcher tmpfiles.d
fstab networks ubuntu-advantage
fuse.conf newt ucf.conf
fwupd nftables.conf udev
gai.conf nsswitch.conf udisks2
gnutls opt ufw
groff os-release update-manager
group overlayroot.conf update-motd.d
group- overlayroot.local.conf update-notifier
grub.d pam.conf usb_modeswitch.conf
gshadow pam.d usb_modeswitch.d
gshadow- passwd vconsole.conf
gss passwd- vim
hdparm.conf perl vmware-tools
hibagent-config.cfg pki vtrgb
hibinit-config.cfg plymouth wgetrc
host.conf pm xattr.conf
hostname polkit-1 xdg
hosts pollinate xml
hosts.allow ppp zsh_command_not_found
이렇게만 나오고 apache2가 안나와서 apache2.conf를 찾을 수 없는 상황입니다. 일단, 건너뛰고 수강중이긴 합니다만 어떻게 servername을 설정해줘야 할지 궁금합니다.
답변 1
0
안녕하세요. 답변 도우미입니다.
환경이 각자 다를 수 있긴 해서, 다음 사항을 한번 참고하셔서, 환경에 맞게 취하실 부분을 취해보시면 어떠실까 의견드립니다.
Docker 컨테이너에서 발생하는 AH00558 에러는 Apache HTTP 서버에서 서버 이름이 설정되지 않았을 때 발생하는 일반적인 경고 메시지입니다. 이 문제를 해결하기 위해서는 Apache의 설정 파일에서 ServerName 지시어를 설정해 주어야 합니다. httpd:alpine 이미지를 사용할 때는 이 설정 파일이 일반적으로 다른 위치에 있습니다.
아래 단계에 따라 ServerName을 설정해보세요:
1. Dockerfile 수정하기:
httpd.conf 파일에 ServerName을 추가하도록 Dockerfile을 수정합니다.
```Dockerfile
FROM httpd:alpine
LABEL maintainer="dream@fun-coding.org"
# Create a custom configuration file to set the ServerName
RUN echo "ServerName localhost" >> /usr/local/apache2/conf/httpd.conf
COPY ./2021_DEV_HTML /usr/local/apache2/htdocs
CMD ["httpd-foreground"]
```
2. 이미지 다시 빌드하기:
수정된 Dockerfile로 이미지를 다시 빌드합니다.
```sh
docker build -t my-apache-image .
```
3. 컨테이너 실행하기:
새로운 이미지로 컨테이너를 실행합니다.
```sh
docker run -d --name my-apache-container my-apache-image
```
4. 로그 확인하기:
로그를 확인하여 에러가 사라졌는지 확인합니다.
```sh
docker logs my-apache-container
```
위 단계들을 따르면 ServerName이 설정되어 AH00558 에러가 해결될 수 있지 않을까 의견드립니다.
감사합니다.





