Docker Desktop에서 container 실행해보기

 

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