DevOps/Docker

[Docker] 내 이미지 업로드하는 방법

발달중인 망고 2023. 12. 7. 05:02

안녕하세요 오늘은 Docker hub에 내 이미지를 업로드하는 방법을 알아보도록 하겠습니다.

그냥 아무 이미지를 업로드하는 것보다 ubuntu 를 다운로드하고 내부에 viminstall 한뒤 커밋하는 방식으로 진행해 보겠습니다

 

1. 이미지파일 다운로드 및 실행

다운로드할 이미지입니다. Dokcer 에서 정식적으로 관리하고 있는 ubuntu image 입니다.

cmd를 열어 순차적으로 실행하겠습니다.

> docker run -dit ubuntu

 

-dit 옵션이란?

 

도커(Docker)에서 -dit 옵션은 주로 컨테이너를 실행할 때 사용됩니다. 앞으로 자주 등장할 옵션이니 간략히 설명하겠습니다. 이 옵션은 세 가지 다른 옵션의 조합입니다: -d, -i, -t. 윈도우에서 도커를 사용할 때 이 옵션들의 의미는 다음과 같습니다:

  1. d (detach): 이 옵션은 컨테이너를 백그라운드에서 실행하도록 합니다. 즉, 컨테이너가 시작되면 터미널로부터 분리되어 백그라운드에서 독립적으로 실행됩니다. 이를 통해 사용자는 다른 명령어를 입력하거나 다른 작업을 계속할 수 있습니다.
  2. i (interactive): 이 옵션은 컨테이너의 표준 입력(STDIN)을 열어둡니다. 이는 사용자가 컨테이너 내부와 상호작용할 수 있게 해 줍니다. 예를 들어, 컨테이너 내부의 셸에 명령어를 입력하는 것과 같은 작업을 할 때 필요합니다.
  3. t (tty): 이 옵션은 컨테이너에 가상의 터미널(텍스트 입력을 위한 환경)을 제공합니다. 이는 사용자가 컨테이너와 상호작용하는 것을 더 쉽고 직관적으로 만들어 줍니다.

다운로드가 완료되었다면 attach 명령어를 통하여 컨테이너 내부에 접속하겠습니다.

 

2. 컨테이너의 사용자화

> docker attach {CONTAINER ID}

 

attach 명령어란?
  • 이미 실행 중인 컨테이너의 터미널에 현재 터미널 세션을 연결하는 동작을 수행합니다.
  • 컨테이너의 터미널에 종속되며, 컨테이너 터미널에서 나오면 현재 터미널 세션이 종료됩니다.

접근 후에 vi 명령어를 실행합니다. 당연하게도 viminstall 되어있지 않아 실행되지 않습니다.

다음과 같은 명령어를 통해 설치해 주도록 하겠습니다.

$ apt update
$ apt install -y vim

명령어 사용도 해볼 겸 /home에 ubuntu 폴더를 만들고 hello 파일도 만들어 주는 모습입니다.

다 만들었다면 컨테이너 접속을 끊어줍니다.

$ exit

그러면 도커 컨테이너가 종료되어있을 텐데 도커 컨테이너를 다시 실행해 주어야 합니다.

> dokcer start {CONTAINER ID}

ctrl + p , ctrl + q 를 연속적으로 실행하면 도커 컨테이너를 실행하면서 빠져나오실 수 있습니다.

이후 커밋명령어를 사용해 이미지를 생성해 주고 업로드해 보는 과정을 거쳐보겠습니다.

 

3. 이미지 생성 및 업로드

> docker commit {CONATINER ID} {DockerHub ID}/{IMAGE NAME}

#예시
> docker commit cf75ae1a6e10 dltjdgh0428/vim-ubuntu:1.0

방금 생성한 것 push 명령어를 통해 업로드하겠습니다.

> docker push {DockerHub ID}/{IMAGE NAME}

이후 자신의 도커 허브에 제가 방금 생성한 이미지가 업데이트된 것을 확인하실 수 있습니다.

감사합니다.

 

 

참고자료

  • 메타코딩 도커입문