- index.html을 웹으로 서비스하려면 웹 서버가 필요하며, nginx는 널리 사용되는 웹 서버 중 하나이다.
- nginx는 Docker Hub에 이미 도커 이미지로 제공되어 있으며, 이를 기반으로 Docker 이미지를 생성할 수 있다.
Docker 파일 생성
디렉토리와 파일 생성
# 프로젝트 디렉토리 생성
mkdir projects
cd projects/
# Docker 프로젝트 디렉토리 생성
mkdir docker-project-1
cd docker-project-1/
# Dockerfile 생성 및 내용 작성
vim Dockerfile
# 아래 내용을 Dockerfile에 추가
# 기본 이미지 설정
FROM nginx:latest
# index.html 파일 복사
COPY index.html /usr/share/nginx/html/
# Nginx 실행
CMD ["nginx", "-g", "daemon off;"]
# Dockerfile 내용 확인
cat Dockerfile
# index.html 파일 생성 및 내용 작성
vim index.html
# 아래 내용을 index.html에 추가
<h1> Hello </h1>
# index.html 내용 확인
cat index.html
# 디렉토리 내 파일 확인
ls
Docker 이미지 생성
docker build -t nginx-1 .
Windows 설정 (Hyper-V 및 Virtual Machine Platform 활성화)
- 관리자 권한의 PowerShell에서 실행
# Hyper-V 및 Virtual Machine Platform 비활성화
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
dism.exe /Online /Disable-Feature:VirtualMachinePlatform
# Hyper-V 및 Virtual Machine Platform 활성화
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
dism.exe /Online /Enable-Feature:VirtualMachinePlatform /All
# 또는 PowerShell 명령어로 Virtual Machine Platform 활성화
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
도커 이미지 확인
생성된 이미지는 docker images 명령어로 확인
도커 이미지 삭제
docker rmi nginx-1
이미지 ID를 사용
docker rmi <Image ID>
Docker 컨테이너 생성
- 80 포트를 사용하는 nginx-1-1 컨테이너 생성
- nginx-1 이미지를 사용해 80 포트로 접근 가능한 컨테이너를 생성
docker run -d -p 80:80 --name nginx-1-1 nginx-1
- 8081 포트를 사용하는 nginx-1-2 컨테이너 생성
- 같은 이미지를 사용해 8081 포트로 접근 가능한 두 번째 컨테이너를 생성
docker run -d -p 8081:80 --name nginx-1-2 nginx-1
컨테이너 상태 확인
실행중인 컨테이너 : docker ps
모든 컨테이너 (종료 포함) : docker ps -a
특정 컨테이너 삭제
docker rm -f nginx-1-1
docker rm -f nginx-1-2
컨테인어 내부 접근 (bash)
docker exec -it nginx-1-1 bash
'Spring Boot 프로젝트' 카테고리의 다른 글
Spring Boot 프로젝트 (11.11) - 프록시 (0) | 2024.11.11 |
---|---|
Spring Boot 프로젝트 (11.06) - Fly.io설치, 배포 (1) | 2024.11.08 |
Spring Boot 프로젝트 (11.05) - Jackson, Lombok, Docker (3) | 2024.11.05 |
Spring Boot 프로젝트 (11.04) - surl_project (3) | 2024.11.05 |
Spring Boot 프로젝트 (11.04) - CRUD, 람다식 (1) | 2024.11.05 |