본문 바로가기
새우의 테크/랜덤

[Dockerhub] Dockerhub 사용하여 쉽고 빠르게 환경 옮기기

by 오새우 2022. 8. 16.

안녕하세요 새우깡 여러분.

서버 작업을 하다보면, 많은 경우 환경 migration을 해야 하는 경우들이 있습니다. 

물론 모두 새로 다 깔아도 되지만, 이러한 작업은 번거롭고, 원치 않는 버전 미스가 나기도 합니다. 

만약 docker 작업을 하고 계신다면, dockerhub를 사용해서 환경 migration을 쉽게할 수 있습니다.

Dockerhub 를 사용하면, 도커 이미지를 github 소스 코드 다루듯 다룰 수 있는데요, 간단한 예시를 통해 함께 실습해 봅시다. 

 

1. Dockerhub 가입

- 우선 https://hub.docker.com/ 에 들어가, sign up을 해주도록 합시다. 

 

2. Dockerhub에서 repository 생성

- github의 repo 처럼, image 를 관리하기 위한 dockerhub repository를 생성해 줍시다.

- 저는 pytorch_1.9 를 위한 쿠다 세팅을 작업해 두었어서, pytorch_1.9 를 위한 이미지를 만들어 보았습니다.

3. Docker container image 생성

이번에는 dockerhub에 올리기 위한, 현재 작업중인 container의 이미지를 만들어 줍시다. 

3-1. docker stop container_name (실행중인 container 멈춤)

3-2. docker commit -a 'commit_message' container_name dockerhub_username/image_name:tag

- (commit_message: 문구, container_name: container 이름, dockerhub_username: dockerhub 아이디, image_name: 관리할 이미지 이름, tag: 버전관리용 테그)

- 이 과정까지 진행 시 docker images 를 했을 때, 이미지가 만들어진 것을 확인할 수 있습니다.

 

4. CLI 에서 dockerhub 로그인

- docker login 후, 아이디, 비밀번호를 입력하면 자동으로 로그인 됩니다. 

 

5. docker push dockerhub_username/image_name:tag

- 자동으로 docker hub에 이미지가 올라가게 됩니다. 

- 이제 새로운 환경 (서버, 머신) 에서 이미지를 가져온 후, 들어가기만 하면 되겠죠?

- 참고로 따로 유료 전환을 하지 않으면 private 한 레포는 하나만 사용할 수 있습니다.

 

6. docker pull dockerhub_username/image_name:tag

- docker 이미지를 가져옵니다. public repo 로 만들어서 따로 로그인이 필요하지 않습니다. 

 

7. 받은 docker image 실행

pytorch 1.9 버전이 잘 실행되는 것을 확인할 수 있습니다. 

댓글