Docker Desktop의 GUI 환경에서 간단하게 nginx를 실행해 보는 과정을 정리했습니다.
1. Dcoker Hub 탭에서 nginx 검색 후 이미지 추가
pull로 이미지를 가져온다.
2. 이미지로 컨테이너 생성
Images 탭에 들어가서 nginx 이미지의 run 버튼을 눌러준다.
그럼 아래처럼 뜨는데
오른쪽 화살표를 누르면 추가 설정을 할 수 있다.
생성할 컨테이너의 이름, 포워딩할 port, Volume, 환경 변수를 설정해줄 수 있다.
도커의 컨테이너는 기본적으로 외부의 접속을 차단하기때문에 접속을 하려면 포트포워딩이 필수다
ex) Host port를 9000으로 설정, localhost:9000으로 컨테이너의 80 포트로 접속 가능
혹은 아래 명령어로도 실행가능
docker run
-p 포트
-v 볼륨
-e 환경변수
-d 백그라운드 실행, -it 포어그라운드로 실행
이미지 이름
명령어
3. 생성된 컨테이너 실행
Containers 탭에 가서 생성된 container를 run 하고 localhost:9000으로 접속해 보자
4. 추가사항
이미지로 컨테이너 생성할 때 옵션에 나오는 Volumes가 뭘까?
컨테이너 안의 데이터는 컨테이너가 삭제될 때 같이 삭제된다.
하지만 삭제하고 싶지 않은 데이터도 있기 마련이다.
그럴 땐? volume이나 bind mount을 써서 데이터를 보존해 줄 수 있다.
- 볼륨(Volume): Docker가 관리하는 독립적인 데이터 저장소. /var/lib/docker/volumes/ 디렉터리에 저장된다.
- 바인드 마운트(Bind Mount): 호스트 시스템의 특정 디렉터리를 컨테이너에 연결하는 방식. 사용자가 지정한 로컬 경로에 따라 파일이 저장된다.
볼륨을 이용하면 DB를 이용할때 저장된 데이터같은 것들을 볼륨에 저장해서 컨테이너를 삭제하더라도 데이터는 보존할 수 있게 사용이 가능하다.
바인드마운트를 이용하면 예를 들어 vue project에서 npm run build를 하면 dist 폴더가 생성되고 그 안에 배포할 index.html과 assets가 생성되는데 dist 경로를 바인드 마운트해주면 npm run build만 해줘도 컨테이너에서 바로 볼 수 있게 활용도 가능하다.
아래 명령어로도 바인드 마운트 지정이 가능하다.
docker run --name 컨테이너이름 -p 9000:80 -v 로컬파일경로:컨테이너경로 -d nginx
컨테이너에서 nginx 재시작 명령어
docker exec 컨테이너이름 이미지이름 -s reload
'Docker' 카테고리의 다른 글
Docker services 내부 설정 상세 정리 (0) | 2025.03.10 |
---|---|
Docker Compose (0) | 2025.03.10 |
Window에서 도커 설치 (0) | 2025.03.10 |
VM에 Docker 설치하기 (0) | 2025.03.10 |
Docker란? (0) | 2025.03.10 |