Docker 실행하기 1 (Tutorial)

2025. 6. 10. 17:42·virtual environment/Docker

1. docker image 확인

현재 실행 중인 Docker 이미지를 확인하려면 아래 명령어를 사용

 docker ps

 

 

2. docker 실행해보기

Docker 컨테이너를 실행하려면 아래와 같은 명령어를 사용

$ docker run --ipc=host --network host --gpus all --name {$NAME} -it {$IMAGE}

# 예시
$ docker run --ipc=host --network host --gpus all -it ubuntu

 

처음 ubuntu 이미지를 받으면 git 과 sudo가 없기 때문에 update를 먼저 해주고 필요한 패키지를 설치

 

// 패키지 업데이트
# apt-get update

// sudo 설치
# apt-get install sudo

// git 설치
# sudo apt-get install git

 

 

도커 컨테이너와 나의 local host가 정말 독립된 환경인지 한번 실험을 해보겠다!

한번 도커 컨테이너 상에서 yolo git을 다운로드 받아보겠다.

# git clone <https://github.com/ultralytics/yolov5.git>

 

도커 컨테이너 안에서 YOLO 코드를 클론했지만 도커 컨테이너와 내 로컬은 독립된 환경이기 때문에 도커 컨테이너에서 yolo의 코드를 clone을 하더라도, 나의 local에는 어떠한 것도 없는 것을 확인할 수 있다.

 

 

⇒ 도커 컨테이너와 나의 local host 상 독립된 환경이 구성되었음을 이렇게 확인할 수 있다!!

 

3. docker 재실행

도커를 껐다가 다시 실행하면 내가 받았던 yolov5 repo가 없어진 것을 확인할 수 있다.

 

Docker 사용시 주의점

Docker 컨테이너(container)에 쓰여진 데이터는 기본적으로 컨테이너가 종료될 때 함께 사라짐.

  • 이를 방지하려면 Docker 볼륨을 사용하거나 docker commit을 이용해 이미지를 저장해야 한다.

[Docker 볼륨 연결]

$ sudo docker run --ipc=host -v {local dir}:{docker dir} --gpus all -it {docker image}

 

 

도커 볼륨을 연결하면, 도커 컨테이너에서 data를 다운 받더라도 host에도 동일하게 저장되어 있는 것을 확인할 수 있고, 도커를 재실행하더라도 해당 데이터는 삭제되지 않는다!

좌측: 도커 컨테이너, 우측: local host
좌측: 도커 컨테이너, 우측: local host

 

 

 

4. docker Commit

볼륨을 연결하지 않고 도커 내에 있는 데이터와 환경을 전부 저장하고 싶다면,

docker commit을 사용하여 컨테이너에서 변경한 사항을 새로운 이미지로 저장할 수 있다.

$ docker commit [CONTAINER ID] [IMAGE NAME]

 

commit 후 컨테이너를 실행하면!

원래 기존 ubuntu 이미지는 git이 없어서 설치를 해주어야 했지만, git을 설치한 후 commit을 한 이미지에는 내가 설치한 패키지들이 온전히 남아있는 것을 확인할 수 있다.

 

 

5. docker를 사용할 때 주의할 점

  1. docker volume 연결하기
    • 컨테이너 안에서 작업을 진행할 경우, 작업한 파일이나 코드가 컨테이너에만 저장되지만, Docker Volumes를 이용해 로컬 디렉토리와 컨테이너 디렉토리를 연결하면, 컨테이너 종료 후에도 데이터가 유지된다.
    • volume을 묶지 않고 컨테이너 안에서만 작업하게 된다면, 추후 commit 단위로 관리를 한다고 하면 docker 컨테이너 안에 데이터와 코드들이 전부 포함되어 이미지의 용량이 커진다.
    • 도커는 환경만 관리한다고 생각해야한다. 커밋으로 관리한다고 하더라도 컨테이너 안에 데이터와 코드들이 전부 포함된다면, 도커 허브 등 외부에 공유했을 때, 보안상 민감한 자료들이 포함될 수도 있기 때문에 데이터나 파일은 컨테이너 내부에서 관리하기보다는 로컬 저장소와 연결하여 외부에서 관리하는 것이 이상적이다.
  2. container안에서 폴더/파일 복사
    • docker cp 커맨드를 사용하면 컨테이너에서 로컬로 파일을 복사할 수 있다.
    • 또한, VSCode Docker Extension을 이용하면 컨테이너 내 파일을 쉽게 접근하고 수정할 수 있다.
  3. docker commit
    • 컨테이너에서 변경 사항을 커밋하여 새로운 이미지를 만들 수 있다. 이는 Docker 환경에서의 작업 상태를 새로운 이미지로 저장하는 방식이다.
저작자표시 비영리 변경금지 (새창열림)

'virtual environment > Docker' 카테고리의 다른 글

YOLO Docker 환경 구축 및 학습하기  (0) 2025.06.10
VSCode에서 Docker 컨테이너 개발 환경 연동  (0) 2025.06.10
Docker 이미지 확인 및 정리 방법  (0) 2025.06.10
Docker 컨테이너 실행 상태 확인 및 정리 방법  (0) 2025.06.10
Docker Hub 튜토리얼  (1) 2025.06.10
'virtual environment/Docker' 카테고리의 다른 글
  • YOLO Docker 환경 구축 및 학습하기
  • VSCode에서 Docker 컨테이너 개발 환경 연동
  • Docker 이미지 확인 및 정리 방법
  • Docker 컨테이너 실행 상태 확인 및 정리 방법
yoon-k
yoon-k
  • yoon-k
    To be || Not To be
    yoon-k
  • 전체
    오늘
    어제
    • 분류 전체보기 (84)
      • Study (13)
        • Linux (6)
        • Computer Vision (1)
        • Coursera - Deep Learning (4)
        • Mathematics For Machine Lea.. (2)
      • Programming (12)
        • Python (2)
        • ETC. (10)
      • virtual environment (44)
        • Docker (29)
        • conda (4)
        • Cloud (11)
      • Robotics (9)
        • Jetson (7)
        • ROS (2)
      • Upstage (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    LLM
    코세라
    Jetson
    Miniconda
    Andrew Ng
    conda
    ORiN
    ambassador
    futureofwork
    Installation
    오린
    claude code
    redeem code
    coursera
    Deep Learning
    Anaconda
    google cloud platform
    딥러닝
    OpenAI
    API
    claude
    nvidia
    docker
    cursor
    GCP
    도커
    Solar
    upstage
    vscode
    업스테이지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
yoon-k
Docker 실행하기 1 (Tutorial)
상단으로

티스토리툴바