이번 글에서는 컨테이너를 생성만 하는 방법, 생성과 동시에 실행하는 방법, 그리고 포트 연결 방법까지 정리해보겠습니다.
컨테이너 Only 생성 or 실행
컨테이너 생성만 하기
컨테이너를 생성할 때 사용하는 기본 명령어는 docker create입니다.
이 명령어는 이미지로부터 컨테이너를 생성만 하고 실행시키지는 않습니다.
# docker create 이미지명[:태그명]
$ docker create nginx
# 생성된 컨테이너 목록 확인
$ docker ps -a
생성된 컨테이너 실행하기
생성해두었지만 아직 실행되지 않은 컨테이너를 시작하려면 docker start 명령어를 사용합니다.
# docker start 컨테이너ID 또는 이름
$ docker start [Container ID or Name]
컨테이너 생성 + 실행
실제 실무에서는 대부분 컨테이너를 생성하고 바로 실행하는 경우가 많습니다. 이때 사용하는 명령어는 docker run입니다.
# docker run 이미지명[:태그명]
$ docker run nginx
- 로컬에 이미지가 없으면 자동으로 Dockerhub에서 다운로드합니다.
- 기본적으로 포그라운드(Foreground) 모드로 실행되며, 실행 중에는 추가 명령어 입력이 어렵습니다.
- 종료하려면 Ctrl + C를 누르면 됩니다.
포그라운드 vs 백그라운드 실행
구분 | 설명 |
포그라운드 실행 | 프로그램이 터미널에 직접 출력되며, 다른 명령어 입력 불가 |
백그라운드 실행 | 프로그램이 내부적으로 동작하며, 터미널을 자유롭게 사용 가능 |
컨테이너를 백그라운드에서 실행하기
컨테이너를 백그라운드 모드로 실행하고 싶다면 -d 옵션을 추가합니다.
# docker run -d 이미지명[:태그명]
$ docker run -d nginx
컨테이너에 이름 붙이기
컨테이너를 생성할 때 이름을 지정하면 나중에 관리하기가 편해집니다.
# docker run -d --name [컨테이너 이름] 이미지명[:태그명]
$ docker run -d --name my-web-server nginx
이름을 부여하면 Container ID 대신 이름으로 관리할 수 있습니다.
호스트 포트와 컨테이너 포트 연결하기
외부에서 컨테이너에 접근하려면 호스트 포트와 컨테이너 포트를 연결해야 합니다.
# docker run -d -p [호스트 포트]:[컨테이너 포트] 이미지명[:태그명]
$ docker run -d -p 4000:80 nginx
위 명령어는 호스트의 4000번 포트를 컨테이너의 80번 포트에 연결합니다.
이제 http://localhost:4000으로 접속하면 컨테이너 안에서 동작하는 Nginx 서버에 접근할 수 있습니다.
'Docker' 카테고리의 다른 글
[Docker#6] 컨테이너(Container) 로그 조회 (0) | 2025.04.29 |
---|---|
[Docker#5] 컨테이너(Container) 조회 / 중지 / 삭제 (0) | 2025.04.29 |
[Docker#3] 이미지(Image) 다운로드, 조회, 삭제 (0) | 2025.04.29 |
[Docker#2] IP/ Port (0) | 2025.04.29 |
[Docker#1] 도커(Docker)란? (0) | 2025.04.29 |