[Docker] 도커 실습

2023. 8. 8. 00:13카테고리 없음

작성자알 수 없는 사용자

728x90
반응형

 

안녕하세요. 기깔나는 사람들에서 DMSO를 맡고있는 정우입니다.

 


실습1. nginx 컨테이너 만들기

 

실습정보

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

문제 > 다음조건을 만족하는 컨테이너를 실행해주세요.

  1. nginx 컨테이너를 50000 포트로 연결하여 실행
  2. 임의의 index.html 파일을 만들고 이 파일 내용을 제공하는 nginx 컨테이너 실행 (docker run -v 옵션 활용)

정답은 더보기 클릭!

 

더보기

정답.

 

우선 nginx가 뭔지 모르니까 nginx를 실행해볼게요

docker run --name hello-nginx -v .\nginx:/usr/share/nginx/html -d -p 5000:80 nginx

 

localhost:5000번으로 들어가보면

nginx 볼륨을 설정할 파일을 넣어줄게요

 안에 html을만들어줄게요

<html>

<head>
    <title>Dockerfile</title>
    <meta charset=utf-8" />
</head>
<body>
    <h1> Docker를 이용한 Nginx 컨테이너</h1>
</body>

</html>

 

nginx서버는 디폴트값으로 /usr/share/nginx/html 위치에 있는 index.html 파일을 보여주게 설정이 되어있습니다. 

 

나는 왜 안나올까...

https://gracelove91.tistory.com/111 

 

[Docker] 나만의 이미지를 만들고 컨테이너화 시켜보자.

본 포스팅은 "알면 쉬운 도커 쿠버네티스" 책을 정리한 글입니다. 구매링크 : http://www.yes24.com/Product/Goods/91618364 해야할 일은 이렇다. nginx 이미지 다운로드. nginx index.html 변경 nginx 이미지 기반에 2

gracelove91.tistory.com

docker exec -it hello-nginx /bin/bash

 바로 찾았습니다.

 

 nginx 서버에 html이 생긴게 보입니다

$ docker cp index.html hello-nginx:/usr/share/nginx/html
$ docker exec -it hello-nginx /bin/bash
$ ls /usr/share/nginx/html/
	50x.html  index.html

 

localhost : 5000번에 가면 이렇게 생성된것을 볼 수 있습니다. 

https://hub.docker.com/_/nginx/ 

 

 

 

 

nginx란

Nginx는 웹 서버 소프트웨어로, 가벼움과 높은 성능을 목표로 한다.


실습 2. php cli 컨테이너 만들고 실행하기

실습정보

  • 이미지: php:7
  • 브라우저 접속이 아닌 CLI 테스트입니다

문제 >

다음조건을 만족하는 컨테이너를 실행해주세요.

다음 소스를 hello.php로 저장합니다.

<?php phpinfo() ?>
  1. hello.php를 php container로 실행 (-v 옵션으로 hello.php를 연결)
  2. 실행결과(php 설정 정보)를 확인

 

정답은 더보기 클릭!

더보기

 

 

 

mkdir php

cd php

touch hello.php

 

 

run해줄게요

https://linuxhint.com/check-php-version-in-docker-container/

 

How to Check PHP Version in Docker Container?

Docker is a popular forum used for containerizing applications. It is utilized by millions of users during the implementation of extensive development projects. Users can build Dockerfiles, images, and containers. Moreover, you can install different extens

linuxhint.com

$ docker run --rm \
  -v $(pwd)/hello.php:/app/hello.php \
  php:7 \
  php /app/hello.php

이렇게 실행해줄게요.

 

성공입니다.

 

 왜 근데 실행후에 컨테이너가 사라지나?

웹서버는 컨테이너가 종료되지 않고 계속해서 떠 있어 브라우저에서 접속을 기다리고 있고, php cli는 한번 실행하고 바로 종료되었기 때문에 실행중인 컨테이너 목록에서는 보이지 않습니다.

일반 프로그램(실행하고 종료)과 웹 서버 프로그램의 차이라고 보시면 됩니다.

https://www.inflearn.com/questions/196694

 

[개인실습] php cli 컨테이너 실행하기 - 관련 문의 - 인프런 | 질문 & 답변

안녕하세요. nginx 컨테이너 만들기의 경우index.html 파일이 저장된 제 로컬 PC의 경로만 수정하여잘 실행됨을 확인하였습니다.(코드 실행 이후 크롬 주사창에 localhost:50000 입력시 hello world 가 출력

www.inflearn.com

https://hub.docker.com/_/php/

 

php - Official Image | Docker Hub

Quick reference Supported tags and respective Dockerfile links Note: the description for this image is longer than the Hub length limit of 25000, so the "Supported tags" list has been trimmed to compensate. See also docker/hub-feedback#238 and docker/roadm

hub.docker.com

 

 

 

 


오늘은 실습을 통해 한층 더 이해에 도움이 되었습니다. 

 

다음엔 도커 이미지 만들고 배포하기를 배워볼게요

 


💡 참고 사항
<양식>

참고자료

🔗 - (링크 내용입력)

📖 - (도서/논문 내용입력)

 

 

 

 

 

728x90
반응형