강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

seohyeonjin787님의 프로필 이미지
seohyeonjin787

작성한 질문수

풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]

Dockerfile 작성을 위한 주요 명령 익히기3

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 에러가 해결될 수 있지 않을까 의견드립니다.

 

 

감사합니다.

seohyeonjin787님의 프로필 이미지
seohyeonjin787

작성한 질문수

질문하기