Docker&Container

Docker&Container - Docker hub, push, pull

hminor 2024. 11. 30. 22:32
반응형

Docker hub, push, pull

  • 이미지를 다른 컴퓨터로 보내는 방법
    • 보통은 이미지를 호스팅해주는 곳에 업로드 후 사용하는게 편함.
    • 호스팅 해주는 서비스
      • Docker hub
      • AWS ECR
      • Azure container registry 등
    • 순서
      • Docker hub에서 Repositories 태그 클릭
      • create Repository (이미지 보관 폴더 같은 것)
        • 그냥 github 같은거임
      • 이후 Docker Desktop에서 해당 이미지의 option 쪽에 push to Docker hub 있는데 이거 하면 됨.
    • 그런데 가끔 안될 때가 있기에 명령어로 하는 방법은 다음과 같음
      • 터미널에서 docker tag 이미지이름:태그 유저명/repo이름:태그명
        • ex) docker tag nodeserver:v1 유저명/myserver:v1
        • 코드의 의미는 nodeserver:v1 를 유저명/myserver:v1로 변경한다는 의미
      • 이후 업로드하기 위해선 다음과 같이 작성
        • docker push 유저명/myserver:v1
      • 여기서 이름을 변경 후 업로드 하는 이유는?
        • 해당 생성한 repository를 알아야 거기에 저장할 수 있기 때문.
      • 만약 업로드가 안된다고 하면 docker login 명령어를 입력 후 다시 해보기
    • 여기서 tag로 생성한 이미지와 기존 이미지 두 개가 있기에 용량이 2배일 것으로 생각하지만
      • 그렇지는 않고 같은 ID값을 가지고 있기에 하나의 것이라는 것
  • 이후 이미지를 다운 받고자 한다면
    • Docker Desktop에서 Hub 탭을 클릭 후 pull 받기
    • 터미널에서 실행하고자 한다면
      • docker pull 이미지명:태그
  • 여러가지 이미지를 업로드할 때
    • 예를 들어 서버, 프론트, DB 이렇게 이미지가 있을 경우엔
    • 대부분은 각각 repository를 만들어 따로 관리함(관리 용이)
    • 그리고 민감정보나 코드가 있을 것이기에 private에 꼭 하기.