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

윤성원님의 프로필 이미지

작성한 질문수

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

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

-d와 httpd-foreground관련하여 질문이 있습니다.

작성

·

890

0

제가 이해한 부분이 맞는 지 궁금합니다.

 

  1. docker run -d는

"컨테이너를 백그라운드로 실행하는 것"

 

  1. dockerfile에서 httpd:alpine을 쓸 경우

CMD를 따로 입력 안하면

CMD ["httpd-foreground"]가 자동으로 설정되서 정상작동함.

 

  1. CMD ["/bin/bash"]이렇게만 하면 httpd-foreground로 작동하지 않고, 웹사이트도 접근 불가능.

    여기서 httpd-forground는 컨테이너 내부에서 apach서버가 동작할 때, foreground로 동작하는거라서 1번에서 설명한 -d옵션, 컨테이너가 백그라운드로 작동하는 거랑 구분지어서 생각하면 될까요???

 

답변 2

0

윤성원님의 프로필 이미지
윤성원
질문자

답변 감사합니다!

0

안녕하세요. 답변도우미입니다. 문의하신 부분에 대해 답변드립니다.

1번 맞습니다.

2번 맞습니다.

3번은 이렇게 보시면 어떠실까요? 본래는 해당 이미지의 도커가 httpd-forground 를 디폴트로 실행하도록 해놓았는데, 이를 CMD 명령으로 덮어씌워서, httpd-forground 가 아닌, 디폴트로 bash 가 실행되면서, 해당 웹서버 프로그램이 실행되지 않는 상황이 되었다고 보시면 좋을 것 같습니다. 이름이 forground 라서 1번의 백그라운드와 이어서 보신 것 같은데요. 단순히 프로그램 이름으로 생각하시면 괜찮을 것 같습니다.

감사합니다~