///
Search

10.Docker Nginx, PHP

Nginx 공식 사이트

환경설정
이미지: nginx:latest
포트: 80
HTML 경로: /usr/share/nginx/html

도커를 이용해서 nginx 컨테이너 만들기

포트는 50000번을 이용해서 nginx 컨테이너를 만들고자 한다.
임의의 index.html 파일을 만들고 이 파일 내용을 제공하는 nginx 컨테이너 실행한다.
vscode에 아래와 같이 폴더와 해당되는 파일을 만들어 준다.
필자는 nginx 폴더 안에 index.html 파일을 만들었으며, index.html 파일 안에는 hello world만 간단하게 적었다.
그러면 도스창에는 이렇게 작성을 한다.
(base) glory@Gloryui-MacBookPro nginx % docker run -d --rm \ -p 50000:80 \ -v $(pwd)/index.html:/usr/share/nginx/html/index.html \ nginx
JavaScript
복사
현재 폴더는 nginx로 되어있으며 위의 명령어를 입력했다. 명령어만 다시 한번 언급 한다.
docker run -d --rm \ -p 50000:80 \ -v $(pwd)/index.html:/usr/share/nginx/html/index.html \ nginx
JavaScript
복사
실행하면 아래와 같은 실행 메시지가 나온다.
(base) glory@Gloryui-MacBookPro nginx % docker -d --rm \ -p 50000:80 \ -v $(pwd)/index.html:/usr/share/nginx/html/index.html \ nginx Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx 45b42c59be33: Pull complete d0d9e9ea897e: Pull complete 66e650438339: Pull complete 76a3dfe4406b: Pull complete 410ff9d97480: Pull complete Digest: sha256:8e10956422503824ebb599f37c26a90fe70541942687f70bbdb744530fc9eba4 Status: Downloaded newer image for nginx:latest a167afc8c84a8f090add9d44d6e40d56896e7dadcc112f178236410d35b39b7c (base) glory@Gloryui-MacBookPro nginx %
JavaScript
복사
다음 명령어로 지금 현 시점에서 실행중인 도커의 컨테이너에 대해 조회를 해본다.
(base) glory@Gloryui-MacBookPro nginx % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a167afc8c84a nginx "/docker-entrypoint.…" 4 minutes ago Up 4 minutes 0.0.0.0:50000->80/tcp laughing_villani (base) glory@Gloryui-MacBookPro nginx %
JavaScript
복사
nginx가 나온 것을 확인할 수 있다.
그러면 docker run을 이용해서 실행을 시켜보자
(base) glory@Gloryui-MacBookPro nginx % docker run nginx /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Configuration complete; ready for start up
JavaScript
복사
도커 런을 이용하여 실행을 시켰고 크롬 웹페이지를 열어서 인터넷 주소창에 50000포트를 접속해보자.

PHP

실습정보
이미지: php:7
브라우저 접속이 아닌 CLI 테스트입니다
파일 이름은 hello.php로 한다.
php 소스코드
<?php phpinfo() ?>
PHP
복사
실행 코드
docker run --rm \ -v $(pwd)/hello.php:/app/hello.php \ php:7 \ php /app/hello.php
PHP
복사