도커 허브를 통해 push, pull을 이용하기 위해서는 로컬에 도커가 설치되어 있어야 하며, 도커 허브에 가입되어 있어야 한다.
일단 첫 번째로 도커 허브에 가입한다.
도커 허브 : https://hub.docker.com/
그 다음 Create repository을 통해서 도커 허브에 레포지토리를 만든다. 만약 backend 라는 레포지토리를 만들게 되면 도커 허브에는 [사용자 이름]/backend 라는 레포지토리가 만들어진다.
도커 허브에 이미지 푸쉬하기
로컬 터미널로 들어가서, Dockerfile이 있는 경로에서 도커 빌드를 이용하여 이미지를 생성한다. 생성 시 맥 m1, m2 유저는 arm으로 이미지가 만들어지니 플랫폼을 변경하여 amd 이미지가 생성 되도록 만든다.
참고 : https://jheaon.tistory.com/154
이때, 만들어질 이미지의 이름을 레포지토리와 똑같이 빌드하여야 한다.
docker build --platform linux/amd64 -t jheaon/backend:1.0 .
만약 이름을 다르게 빌드 했을 경우에는 docker image tag을 이용하여 새로운 이름의 이미지를 복사한다.
docker image tag [기존 이미지명]:[기존 태그] [새로운 이미지명]:[새로운 태그]
그 다음 도커 허브에 있는 레포지토리가 public으로 되어 있다면 바로 push을 통해 이미지를 푸쉬하면 되지만, private로 되어 있을 경우에는 도커에 로그인을 해야 한다 도커에 로그인을 하는 방법은 다음과 같다.
# docker hub에 있는 자신의 레포지토리가 private 인 경우 해당 과정을 거쳐야 한다.
docker login
id:
pw:
# docker image push
docker push jheaon/backend:1.0
도커 허브에 이미지 가져오기
도커 허브에 있는 이미지를 가져오기 위해서는 서버에 도커가 설치되어 있어야 한다. 만약 ssh에 접속한 linux서버에 도커가 없을 경우 아래 방법을 이용하여 도커를 설치한다.
# 리눅스 업데이트 후, 도커와 도커 종속성 패키지 설치
sudo apt-get update
sudo apt install docker.io
sudo snap install docker
# 도커 버전 확인하기
docker --version
도커가 설치되었음이 확인이 된다면, 도커 허브에 있는 이미지를 가져와 사용하면 된다. 만약 사용자의 도커 허브가 private로 되어 있다면 도커에 로그인이 먼저 선행되어야 한다.
# 도커 로그인
docker login
id:
pw:
# 도커 허브에서 이미지 가져오기
docker pull jheaon/backend:1.0
'Cloud > Docker' 카테고리의 다른 글
docker compose로 django, nginx 연결하기 (0) | 2023.08.24 |
---|---|
docker compose을 이용하여 django, postgres 연결하기 (0) | 2023.08.22 |
docker compose로 컨테이너 관리하기 (0) | 2023.08.19 |
맥 M1, M2 에서 linux/amd64로 docker 빌드하기 (0) | 2023.08.18 |
도커 컨테이너에 접속하여 파일 수정하기 (0) | 2023.08.18 |