도커에서 nginx 컨테이너를 구축할 때 발생하는 일련의 문제
배경: 최근 친구들과 도커 시리즈 기술을 공유하려고 계획하고, 한동안 도커 관련 기술을 공부한 내용을 여기에 기록하겠습니다. nginx 컨테이너 구축 시 함정
1.nginx 서버 루트 디렉토리 문제
docker 공식 이미지에서 제공하는 nginx는 debian/jessie 플랫폼을 기반으로 하며 파일 구조가 다릅니다. ubuntu의 nginx에서
예:
niginx 컨테이너 실행
<code><span>//80端口被占用,so...</span> $ sudo docker run <span>-it</span><span>-p</span><span>800</span>:<span>800</span> nginx $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES <span>1801</span>a32aab54 nginx <span>"nginx -g 'daemon off"</span><span>2</span> minutes ago Up <span>2</span> minutes <span>80</span>/tcp, <span>443</span>/tcp, <span>0.0</span><span>.0</span><span>.0</span>:<span>800</span><span>-></span><span>800</span>/tcp berserk_kare</code>
컨테이너 입력
<code><span>$ </span>sudo docker exec -it <span>1801</span>a32aab54 /bin/bash root<span>@1801a32aab54</span><span>:/</span><span># </span></code>
nginx 보기 디렉토리
<code><span># cd /etc/nginx/</span> conf<span>.d</span>/ koi-utf mime<span>.types</span> nginx<span>.conf</span> uwsgi_params fastcgi_params koi-win modules/ scgi_params win-utf </code>
익숙한 /sites-available이 있을 뿐만 아니라 /sites-enabled도 없는 것을 볼 수 있습니다
계속해서 nginx 구성을 봅니다
<code><span># cat /conf.d/default.conf</span><span>server</span> { listen <span>80</span>; server_name localhost; <span>#charset koi8-r;</span><span>#access_log /var/log/nginx/log/host.access.log main;</span> location / { root /usr/share/nginx/html; <span>index</span><span>index</span>.html <span>index</span>.htm; } <span>#error_page 404 /404.html;</span><span># redirect server error pages to the static page /50x.html</span><span>#</span> error_page <span>500</span><span>502</span><span>503</span><span>504</span> /<span>50</span>x.html; location = /<span>50</span>x.html { root /usr/share/nginx/html; } <span>#...省略php-fpm配置,好长..</span> }</code>
루트 디렉터리 구성: root /usr/share/nginx/html ;
테스트
<code><span># cd /usr/share/nginx/html</span><span># touch index.html</span><span># echo "test nginx in docker" >index.html</span></code>
php-fpm 구성 관련
').addClass(' 미리 번호 매기기').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });위 내용은 docker 및 nginx 콘텐츠를 포함하여 nginx 컨테이너를 구축할 때 발생하는 167 docker docker 시리즈 문제를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.