https://ropenscilabs.github.io/r-docker-tutorial/04-Dockerhub.html
를 이해하면서 정리한 글입니다.
도커허브는 도커이미지가 저장되는 장소다. 아래와 같이 타이핑함으로써 첫 이미지를 실행시켜볼 수 있다.
docker run --rm -p 8787:8787 rocker/verse
소프트에어는 그 실행하려고 한 이미지가 내 컴퓨터에서 이용한지부터 확인한다. 만약 도커허브로부터 다운로드되어 있지 않으면(내 컴퓨터에 없으면), 도커허브로부터 자동적으로 이미지를 가져온다. 만약 이미지를 가져오고 싶은데, 자동으로 가져오지 않으면 아래 명령줄을 타이핑하면 된다.
docker pull rocker/verse
도커 이미지를 스스로 만들었고, 이것을 세상사람들과 공유하고 싶을 때를 상상해보라. 그냥 https://hub.docker.com/에 회원가입 후 이메일 인증을 하고 도커이미지를 업로드하기만 하면 된다.
'https://hub.docker.com/' 로그인하기
'Create Repository' 클릭하기
이름을 정하고 간단한 설명을 덧붙이고 Create를 클릭한다.
커맨드라인(cmd 명령어창)에서 도커허브에 로그인해라
docker login --username=yourhubusername --email=youremail@company.com
도커허브 계정에 저장된 정보와 입력한 이름, 이메일, 비밀번호가 정확했다면 아래 메시지 창이 뜰 것이다.
WARNING: login credentials saved in /home/username/.docker/config.json
Login Succeded
사용 중인 이미지의 이름을 확인해라
docker images
그러면 아래와 같은 내용들을 확인할 수 있다.
그러고 나서 너의 이미지를 태그해라
docker tag bb38976d03cf yourhubusername/verse_gapminder:firsttry
숫자들은 도커 이미지 ID와 같아야 하고, :firsttry
가 태그다. 일반적으로 좋은 태그 이름은 어떤 컨테이너와 잘 맞을지 알려주는 알려준다. 만약 그 컨테이너가 논문분석을 담고 있다면, 논문의 DOI나 발행번호를 활용하는 것이 좋다. 어떤 것이든 업로드하려는 도커이미지이 목적을 잘 설명해주는 것이 좋다.
도커이미지를 생성한 레포지토리에 저장한다
docker push yourhubusername/verse_gapminder
완료되면 도커이미지는 도커허브 이용자들에게 사용될 수 있다.
도커허브에 푸쉬하는 것만을 훌륭하지만, 몇 가지 단점이 있다.
이런 문제를 해결하기 위해 tar archive로 로컬 환경에 저장하는 방법이 있다. 그러고 나서 이미지를 필요할 때마다 로드해올 수 있다.
도커이미지를 도커허브로부터 가져온 후 저장하기 위해, docker save
명령어를 활용하면 된다. 예를 들어 우리가 만들었던 verse_gapminder
를 저장할 수 있다.
docker save verse_gapminder > verse_gapminder.tar
만약 tar archive에서 도커컨테이너를 로드하고 싶다면, docker load
를 사용하면 된다.
docker load --input verse_gapminder.tar