컨테이너·워크플로우 자동화/DocKer 기본 및 활용

Docker 컨테이너(Container) 생성 및 실행 - 2

Data Jun 2025. 10. 11. 16:23

컨테이너 생성 + 실행

docker run 명령은 이미지를 기반으로 컨테이너를 생성하고 실행까지 시켜주는 명령어입니다.
처음 이미지를 실행하고자 할 때 가장 자주 사용되는 기본 명령이에요.

docker run [옵션] 이미지명[:태그명]

예시 👇

docker run nginx

 

Ctrl + C 로 실행 중인 컨테이너를 종료할 수 있습니다.
로컬에 해당 이미지가 없다면 Dockerhub에서 자동으로 다운로드(pull) 후 실행됩니다.

 

 

컨테이너를 백그라운드에서 실행시키기

컨테이너를 실행할 때 -d 옵션을 사용하면 백그라운드(Background) 모드로 실행할 수 있습니다.

docker run -d 이미지명[:태그명]

예시 👇

docker run -d nginx

 

 

Foreground vs Background 차이

구분 설명
Foreground(포그라운드) 터미널 환경에 실행 결과가 실시간 출력됨. 다른 명령을 입력할 수 없음
Background(백그라운드) 터미널에 출력되지 않고 백그라운드에서 실행됨. 다른 명령을 입력할 수 있

즉, -d 옵션은 “터미널을 점유하지 않고 백그라운드에서 컨테이너를 돌리겠다”는 뜻이에요.

 

컨테이너 이름 붙이기

컨테이너를 생성할 때 --name 옵션을 사용하면 이름을 지정할 수 있습니다.

docker run -d --name [컨테이너이름] 이미지명[:태그명]

예시 👇

docker run -d --name my-web-server nginx

 

 

호스트 포트와 컨테이너 포트 연결하기

컨테이너 내부 서비스(Nginx, Flask 등)에 외부에서 접근하려면,
호스트의 포트와 컨테이너의 포트를 연결해야 합니다.

docker run -d -p [호스트포트]:[컨테이너포트] 이미지명[:태그명]

예시 👇

docker run -d -p 4000:80 nginx

위 명령은 호스트(내 PC)의 4000번 포트
컨테이너 내부의 80번 포트와 연결하겠다는 의미입니다.
따라서 브라우저에서 http://localhost:4000 으로 접속하면
컨테이너 내부의 Nginx 서버에 접근할 수 있습니다.

 

 

정리하면

 

🐳 docker run -d -p 4000:80 --name my-web nginx
→ “nginx 컨테이너를 백그라운드에서 실행하고, 이름은 my-web으로 지정하며,
호스트 4000번 포트를 컨테이너 80번 포트로 연결한다.”