저는 웹 서버를 도킹하는 데 대한 자습서 및 설명서를 시도했지만 docker 실행 명령을 통해 서비스를 실행하는 데 문제가 있습니다. Dockerized nginx가 시작되지 않습니다
FROM ubuntu:trusty
#Update and install stuff
RUN apt-get update
RUN apt-get install -y python-software-properties aptitude screen htop nano nmap nginx
#Add files
ADD src/main/resources/ /usr/share/nginx/html
EXPOSE 80
CMD service nginx start
내가 내 이미지 생성 :
이
내 Dockerfile입니다docker build -t myImage .
을 그리고 나는 그것을 실행하면 그냥 중지하는 것
docker run -p 81:80 myImage
:
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
90e54a254efa pms-gui:latest /bin/sh -c service n 3 seconds ago Exit 0 prickly_bohr
포트 81-> 80으로 실행되고있을 것으로 예상되지만 그렇지 않습니다. 달리기
docker start 90e
아무 것도 보이지 않습니다.
내가 직접
docker run -t -i -p 81:80 myImage /bin/bash
여기에서 나는 서비스
service nginx start
를 시작하고 다른 탭에서 나는 (또한 브라우저에서) 의도 한대로 작동하고 볼 수 있습니다 그것을 입력 시도 :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
408237a5e10b myImage:latest /bin/bash 12 seconds ago Up 11 seconds 0.0.0.0:81->80/tcp mad_turing
그래서 나는 Dockerfile에 문제가 있다고 생각합니까? 누구든지이 문제로 나를 도울 수 있었는지, 나는 Docker에게 새로운 것을 알게되었습니다. 고맙습니다!
해결 방법 : Ivant의 답변에 따라 전경에서 nginx를 시작하는 다른 방법을 발견했습니다.
CMD /usr/sbin/nginx -g "daemon off;"
감사합니다. 설명 할 때 매우 분명합니다. 저는 이제 루프 스크립트를 작성했으며 아마도이 솔루션을 제 시간에 전개 할 것입니다. 이제 나는 왜 그런지 알았어! – Solvemon
첫 줄은 문서의 일부일 것입니다. – Vor