본문 바로가기

Program

Docker run : 내가 만든 Docker 이미지를 실행하는 방법

반응형

docker container run 명령어는 Docker에서 컨테이너를 생성하고 실행할 때 가장 핵심적으로 사용하는 명령어입니다. 이 명령어는 이미지로부터 컨테이너를 만들고, 그 컨테이너를 실행까지 한 번에 처리하는 올인원(All-in-one) 명령어라고 할 수 있습니다.

아래에서는 이 명령어의 구조, 주요 옵션들, 자주 사용하는 예제, 실무 활용 팁까지 자세히 정리해 드리겠습니다. 


🚀 Docker docker container run 완전 가이드 – 컨테이너 생성과 실행을 한 번에!


📌 기본 개념

docker container run 명령어는 다음을 수행합니다:

  1. 지정한 이미지를 기반으로 컨테이너를 생성
  2. 해당 컨테이너를 즉시 실행(run)
  3. 필요에 따라 포트, 볼륨, 환경변수 등 다양한 설정 가능

즉, docker create와 docker start를 한 번에 묶은 명령어입니다.


✅ 기본 문법

docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • IMAGE: 사용할 도커 이미지 이름 (예: nginx, ubuntu)
  • COMMAND: 컨테이너 안에서 실행할 명령어 (선택)
  • [OPTIONS]: 포트, 볼륨, 이름 설정 등 다양한 옵션

🧪 예제 모음

1. 가장 간단한 실행

docker container run ubuntu echo "Hello Docker"
  • ubuntu 이미지를 기반으로 컨테이너 생성 후 echo 명령 실행
  • 실행 완료 후 컨테이너는 자동으로 종료됨

2. 백그라운드 실행 (Detached 모드)

docker container run -d --name my-nginx nginx
  • nginx 이미지를 백그라운드로 실행
  • 컨테이너 이름은 my-nginx

3. 포트 매핑 설정

docker container run -d -p 8080:80 nginx
  • 호스트의 포트 8080을 컨테이너의 80 포트에 연결
  • 웹 브라우저에서 localhost:8080 접속 가능

4. 볼륨 마운트

docker container run -v /host/path:/container/path ubuntu
  • 호스트 디렉토리를 컨테이너 내부에 연결

5. 환경 변수 지정

docker container run -e MYSQL_ROOT_PASSWORD=secret mysql
  • MySQL 컨테이너에 환경 변수 설정

6. 자동 삭제 (--rm)

docker container run --rm ubuntu echo "This will auto-delete"
  • 실행 후 컨테이너 자동 삭제
  • 테스트나 임시 실행에 유용

🔧 주요 옵션 정리

옵션 설명

-d Detached 모드 (백그라운드 실행)
--name 컨테이너 이름 지정
-p 포트 매핑 (호스트:컨테이너)
-v 볼륨 마운트
-e 환경 변수 설정
--rm 실행 후 컨테이너 자동 삭제
--network 네트워크 설정 (bridge, host 등)
--restart 자동 재시작 정책 설정

⚠️ 주의사항

  • run 명령어는 이미지를 기반으로 매번 새 컨테이너를 생성합니다.
  • 컨테이너가 중지되었다고 다시 run 하면 새로운 컨테이너가 만들어집니다.
    • 기존 컨테이너 재시작은 docker start 명령을 사용해야 합니다.
  • --rm 옵션을 사용하면 로그 확인도 안 되니 신중히 사용하세요.

🧠 실전 팁

  • 테스트용으로 빠르게 뭔가 실행하고 싶을 때:
docker container run --rm -it ubuntu /bin/bash
  • 로그 확인과 재사용이 필요하다면:
docker container run --name dev-box -it ubuntu /bin/bash

이후:

docker start -ai dev-box

🔄 명령어 흐름 요약

이미지 → 컨테이너 생성 → 컨테이너 실행
        ↑               ↓
   docker run           실행 완료
  • docker run은 이 모든 과정을 자동으로 처리합니다.

📘 관련 명령어 비교

명령어 설명

docker create 컨테이너 생성만 수행
docker start 정지된 컨테이너 실행
docker exec 실행 중인 컨테이너에 명령 전달
docker ps 실행 중인 컨테이너 목록 확인
docker stop 컨테이너 중지

🏁 마무리

docker container run은 도커 입문자와 실무 개발자 모두에게 필수적인 명령어입니다. 한 줄의 명령으로 복잡한 컨테이너 생성 과정을 처리할 수 있기 때문에, Docker를 처음 배울 때 반드시 익혀야 할 기본 중의 기본입니다.

이 명령어에 익숙해지면 실무에서 컨테이너 기반 개발, 테스트, 배포 작업이 훨씬 수월해집니다.


 

반응형