도커에 대해 차근차근 알아가기 위해
로컬에서 live server로 실행해봤던 html,js,css 파일들로 구성된 간단한 파일들을
nginx로 띄우고
도커에서 nginx 이미지를 만들어 테스트해보려고 한다.
brew install nginx #nginx 설치
nginx -t #configuration file 위치
여기서 nginx.conf 파일에서 location root를 내 개인 프로젝트 경로로 바꿔주고
nginx #서버 실행
서버를 실행하면 localhost:8080에서 잘 나오는 것을 볼 수 있다.
사실 로컬에서 이렇게 띄워서 결과물을 확인해볼 수도 있지만,
도커에서 띄워 확인해볼 수 있다.
도커 컨테이너의 무수한 장점이 있지만 일단 도커 컨테이너를 사용한다면, 로컬 환경설정을 잡아준다던가 하는 귀찮은 일을 하지 않아도 된다.
nginx -s stop #서버 중지
사전 요구사항은 아래의 링크를 참고하였다.
Visual Studio Code Docker 앱 시작
Docker 앱을 업데이트하고 VS Code와 앱을 공유하는 방법을 알아봅니다.
learn.microsoft.com
도커 데스크탑까지 깔았다면 이제 본격적인 시작이다.
docker pull ngix 을 해봤더니 에러가 나서 로그인을 docker login을 해줬다.
docker pull ngix
Using default tag: latest
Error response from daemon: pull access denied for ngix, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
그리고 아래와 같이 이렇게만 한다면 nginx가 제공하는 디폴트 화면으로 동작하게 된다.
docker login
docker build -t some-content-nginx .
docker run --name some-nginx -d some-content-nginx
내 프로젝트에 있는 것을 docker로 띄우려고 한다면
Dockerfile 파일을 생성하고 수정해야한다.
파일 내용은 다음과 같다.
FROM nginx
COPY ./ /usr/share/nginx/html
/usr/share/nginx/html -> 이 경로는 도커 경로를 의미한다.
따라서 ./에 있는 것들을 복사해서 /usr/share/nginx/html 경로로 복사한다.
docker build -t some-content-nginx .
docker run --name some-nginx -d -p 8080:80 some-content-nginx
도커 빌드를 하면 some-content-nginx 이미지가 생성되고
해당 이미지를 띄워주는 컨테이너(some-nginx)를 도커 허브에서 확인해볼 수 있다.
로컬과 똑같이 localhost:8080으로 들어가면 도커 run한 프로젝트를 바로 확인해볼 수 있다.
참고 :
nginx - Official Image | Docker Hub
Quick reference Supported tags and respective Dockerfile links 1.25.1, mainline, 1, 1.25, latest, 1.25.1-bookworm, mainline-bookworm, 1-bookworm, 1.25-bookworm, bookworm 1.25.1-perl, mainline-perl, 1-perl, 1.25-perl, perl, 1.25.1-bookworm-perl, mainline-bo
hub.docker.com
8/20 Nexters 8주차 : Docker 기반 배포
넥스터즈가 벌써 8주차로 곧 끝이 보이고 있다. 시간 진짜 빠르다... 내가 맡은 개발 분량은 끝났다. 개발중인 API가 완료되면 API 호출하는 거랑 정적 페이지 하나랑 리팩터링 정도 남은거 같다 그
coffeeandcakeandnewjeong.tistory.com
Nginx 명령어 모음
nginx : 기동nginx -s stop : 정지nginx -s reload : 재기동nginx -t 설정파일 체크/etd/nginx : main 설정파일 위치/etc/nginx/conf.d/ : 각 서버용 설정파일 위치
velog.io
'TIL' 카테고리의 다른 글
업무 중 참고한 사이트 01.26 (0) | 2024.01.26 |
---|---|
크롤링용 API 제공을 위한 API ROUTE 트러블 슈팅 기록 (Nextjs) (0) | 2024.01.10 |
02.05 (0) | 2023.02.07 |
02.07 (0) | 2023.02.07 |
2922.11.21 (0) | 2022.11.21 |