Docker commit & push
Docker commit을 통해 나만의 도커 이미지를 만들고 이를 docker hub에 push하는 방법을 알아보자.
Docker commit
위 그림을 보면, docker hub에서 pull
을 통해 image를 다운받고, run
을 통해 컨테이너를 실행한다.
하나의 이미지로 여러 컨테이너를 만들 수 있고, 각각은 독립된 공간을 갖는다.
만약, ubuntu 이미지에서 run을 통해 생성된 컨테이너에서 git을 설치해서 작업하고 있을 때, ubuntu + git이 설치된 현재 컨테이너를 하나의 이미지로 만들고 싶다면 어떨까?
이 때 사용하는 기능이 바로 커밋이다. docker commit
을 통해 내가 원하는 상태의 컨테이너를 하나의 이미지로 생성할 수 있다.
추가로, 생성한 이미지를 통해 다시 컨테이너를 run하거나, docker hub에 모두가 사용할 수 있도록 push
할 수도 있다.
아래 예시를 보자.
먼저 docker hub에서 pull
을 통해 ubuntu 이미지를 다운받는다.
컨테이너를 실행한다. ubuntu를 제외한 아무것도 설치되어 있지 않는 컨테이너이기 때문에, git 역시 설치 되어 있지 않은 것을 볼 수 있다.
apt를 통해 git을 깔아보자.
이제 ubuntu + git이 설치된 컨테이너를 하나의 이미지로 만들어보자.
- 형식: docker commit [컨테이너] [이미지:태그] (태그는 꼭 붙이지 않아도 되지만, 이후 push 명령을 위해 붙여주자)
docker images 명령어를 통해 실제로 이미지가 생성된 것을 볼 수 있다.
Docker push
이제 생성한 이미지를 docker hub에 push 해보자.
먼저 docker hub 사이트에 접속해서 로그인 후 레포지토리를 하나 만들어보자.
레포지토리 이름은 push 하고자 하는 이미지의 이름과 갖게 만든다.
레포지토리는 public 혹은 private 설정이 가능하다.
push 하기에 앞서 docker hub 계정으로 터미널에서 로그인을 해주어야 한다. 기존에 로그인한 기록이 있어서 바로 되었지만, 원래는 아이디, 비밀번호를 입력해야 한다.
이제 docker hub에 이미지를 push 해보자.
docker hub를 확인하면 잘 push 되어 있는 것을 확인할 수 있다.
컨테이너를 통해 사용자 이미지를 생성하고 이를 docker hub에 push 하는 과정까지 알아보았다.
출처
https://www.youtube.com/watch?v=RMNOQXs-f68
https://www.youtube.com/watch?v=_38dU6GExDo
'devops > docker' 카테고리의 다른 글
[Docker] Dockerfile로 Docker에서 Spring boot 서버 실행 (0) | 2022.07.22 |
---|---|
[Docker] 도커 컨테이너에 깃랩(Gitlab) 설치 (0) | 2022.07.01 |
[Docker] Dockerfile & build (0) | 2022.06.28 |
[Docker] Docker compose (0) | 2022.06.28 |
[Docker] 도커 입문 (0) | 2022.06.28 |