Docker Image & Container 생성 방법

2025. 5. 22. 17:01·Docker
반응형

1. Image 생성방법

지난 게시물에서 Dockerfile 예시를 보고 생성을 하였습니다. 이번에는 생성한 Dockerfile을 가지고 Docker Image를 생성하는 방법입니다.

먼저 Dockerfile이 있는 경로로 이동하여 아래 명령어를 입력하면 Image가 생성됩니다.

# 예시
docker build -t [새로 생성할 이미지 이름] [Dockerfile 디렉토리 경로]

# 실제 명령어
docker build -t custom_ubuntu_2204 .

만약 Dockerfile 이름을 Dockerfile이 아닌 다른 이름으로 하였을 경우는 아래 명령어를 입력합니다.

# 예시
docker build -t [새로 생성할 이미지 이름] -f [Dockerfile 이름] [Dockerfile 디렉토리 경로]

# 실제 명령어
docker build -t custom_ubuntu_2204 -f Dockerfile_ubuntu_2204 .

생성까지는 Dockerfile의 내용에 따라 걸리는 시간이 다릅니다.

Docker Image 생성로그

정상적으로 완료가 되었으면 아래 명령어로 이미지를 확인할 수 있습니다.

docker images

이렇게 Docker의 Image가 생성이 되었다면, 해당 Image를 가지고 Container를 생성하는 방법을 이어서 설명드리겠습니다.


2. Container 생성방법

Container는 아래 명령어로 생성할 수 있습니다.

docker run --privileged -dit --init --name basic -p 50022:22 -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix custom_ubuntu_2204 /bin/bash

옵션 설명:

  • -d : background 에서 계속 실행하도록 설정
  • -p : 포트 포워딩 (50022:22)
  • --name : Container Name
  • -e DISPLAY=$DISPLAY
  • -v /tmp/.X11-unix:/tmp/.X11-unix : xWindows 기능 추가
  • --privileged : 컨테이너를 특권 모드로 실행하여 모든 장치에 접근

💡 Docker 공식문서 설명
By default, Docker containers are “unprivileged” and cannot, for example, run a Docker daemon inside a Docker container.
This is because by default a container is not allowed to access any devices,
but a “privileged” container is given access to all devices (see the documentation on cgroups devices).
→ 즉, 컨테이너 내부에서 모든 장치에 접근할 수 있게 됩니다. 하지만 보안 위험이 따를 수 있으므로 신중하게 사용할 것.


저 같은 경우는 사용 포트를 50000번 대로 설정하고 있습니다. 포트 포워딩을 설정하는 이유는 SSH를 통해 Container로 접속하기 위함입니다. 포트 번호는 자유롭게 변경 가능합니다.

또한, xWindows를 사용하기 위해 생성할 때 해당 기능을 함께 추가하고 있습니다. 나중에도 추가할 수는 있지만, 처음부터 설정하는 것을 권해드립니다.

앞서 설명드린 명령어를 입력하면 Docker Container가 정상적으로 생성되는 것을 확인할 수 있습니다.

생성된 컨테이너 목록을 확인하려면 다음 명령어를 사용합니다:

docker ps -a

이 명령어는 현재 실행 중이거나 정지된 모든 컨테이너 목록을 출력해줍니다. 생성된 컨테이너가 목록에 나타난다면 정상적으로 이미지 → 컨테이너 변환이 완료된 것입니다.

지금까지는 명령어를 직접 입력하여 Docker를 실행하고 컨테이너를 관리해왔습니다. 다음 게시물에서는 이 과정을 더욱 간편하게 만들기 위해 스크립트를 활용하여 Docker를 실행하는 방법에 대해 소개드리겠습니다.

복잡한 명령어 입력 없이, 단 한 줄로 원하는 컨테이너를 생성하고 실행하는 방법이 궁금하시다면 다음 글도 기대해주세요!

반응형

'Docker' 카테고리의 다른 글

Docker Container에 SSH로 접속하는 방법  (0) 2025.05.22
Docker 관리 스크립트 (참고)  (1) 2025.05.22
Dockerfile 만들기: Ubuntu 22.04 기반 개발 환경 구축  (0) 2025.05.22
DockerImage와 Container의 차이  (0) 2025.05.22
Ubuntu 24.04에 Docker 설치하는 방법  (0) 2025.05.21
'Docker' 카테고리의 다른 글
  • Docker Container에 SSH로 접속하는 방법
  • Docker 관리 스크립트 (참고)
  • Dockerfile 만들기: Ubuntu 22.04 기반 개발 환경 구축
  • DockerImage와 Container의 차이
정도비_
정도비_
jeongdobby90 님의 블로그 입니다.
  • 정도비_
    정도비 노트북
    정도비_
  • 전체
    오늘
    어제
    • 분류 전체보기 (18)
      • Git (1)
      • GitHub Blog (0)
      • Ubuntu (1)
      • Redmine (9)
      • Docker (7)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    Git
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
정도비_
Docker Image & Container 생성 방법
상단으로

티스토리툴바