사용자 지정 Docker 이미지를 Docker 허브로 푸시

이 자습서에서는 Docker 레지스트리에서 사용자 지정 도커 이미지를 빌드, 태그 지정 및 푸시하는 단계를 진행합니다. Docker Hub는 가장 인기 있는 레지스트리 중 하나이며 다른 이름은 ACR(Azure Container Registry) 및 Amazon ECR(Amazon Elastic Container Registry)입니다. 이 문서에서는 Docker Hub에서 사용자 지정 이미지를 푸시하는 단계를 진행합니다.

단순화를 위해 이 기사를 몇 개의 섹션으로 나누었습니다.
  • Docker Hub 계정 생성
  • 액세스 토큰 생성(암호를 사용하지 않는 이유)
  • 도커 레지스트리에 로그인
  • 사용자 지정 이미지 빌드
  • 태그를 지정하고 이미지를 컨테이너 레지스트리로 푸시합니다
  • .



    1. Docker 허브 계정 만들기:

    먼저 도커 허브 계정이 필요합니다. 페이지https://hub.docker.com/를 방문하여 계정에 가입하세요. 무료 계정은 무제한 공용 저장소를 게시할 수 있도록 제공합니다. 개인 저장소가 필요한 경우 계정을 업그레이드해야 합니다. 계정의 사용자 이름은 중요합니다. 리포지토리의 이미지에 액세스하려면 다음을 사용해야 합니다.

    Docker pull <username>/<repository name>:<tag>
    


    태그를 전달하지 않으면 최신 이미지를 가져옵니다.

    2. 액세스 토큰 생성:
    docker cli에서 docker 허브 계정에 로그인하려면 계정의 사용자 이름과 암호를 사용할 수 있지만 이렇게 하면 계정의 전체 액세스 권한을 얻게 되며 암호를 변경하는 경우 다시 로그인해야 합니다.
    권장 접근 방식은 액세스를 제한할 수 있도록 액세스 토큰을 사용하기 위해 cli에서 도커 허브에 로그인하는 것입니다.
    계정 설정 > 보안으로 이동합니다. 내 경우에는 일부 기존 토큰이 표시되지만 귀하의 경우에는 비어 있을 수 있습니다. 이제 새 액세스 토큰을 클릭합니다.


    읽기 및 쓰기를 원하므로 읽기 및 쓰기를 선택할 수 있지만 삭제도 수행하려면 해당 권한을 사용하고 생성을 클릭하십시오. 생성 후 토큰을 표시하고 복사하여 안전한 장소에 보관하면 다시 표시되지 않습니다.


    3. Docker 레지스트리에 로그인합니다.

    docker login -u <username> -p <accesstoken or account password>
    


    또는 실행 명령docker login을 실행하면 사용자 이름과 비밀번호를 묻습니다.

    The recommended approach is ,To increase security, use the - password-stdin flag to instruct Docker to read your password from STDIN. This lets you pipe in a password file, preventing plain text from being captured in your shell history and CI job logs.



    cat password.txt | docker login - username <username> - password-stdin
    


    여기서 passwor.txt에 액세스 토큰 값을 저장했습니다.



    4. 맞춤형 이미지 구축:
    nginx를 기본 이미지로 사용하는 매우 간단한 예가 있습니다. 여기에 예가 있습니다. Git Repo Link

    샘플 html 파일만 있으면 됩니다. 그런 다음 Dockerfile을 만들고 두 파일을 같은 폴더에 보관해야 합니다.
    Dockerfile 코드:

    FROM nginx:latest
    COPY index.html /usr/share/nginx/html
    


    이 도커 파일에서 최신 nginx 이미지를 가져오고 그 위에 sampleindfex.html을 html 폴더에 복사하고 사용자 지정 이미지를 빌드해 보겠습니다.

    docker build -t my-custom-nginx .
    


    위의 명령에서 빌드 컨텍스트를 현재 폴더로 전달하여 이미지를 빌드하므로 전달합니다. (점).
    산출:


    5. 태그를 지정하고 이미지를 컨테이너 레지스트리에 푸시합니다.
    이제 로컬로 생성된 이미지에 docker 허브 사용자 이름과 사용자 지정 이미지 이름을 태그로 지정합니다.

    docker tag my-custom-nginx nitin27may/my-custom-nginx:1.0
    docker push nitin27may/my-custom-nginx:1.0
    


    위 명령에서 'nitin27may'는 내 계정 이름이고, 'my-custom-nginx'는 도커 허브의 저장소 이름이고 '1.0'은 태그이므로 전체 태그는 'nitin27may/my-custom-nginx:1.0'입니다.


    아래는 내 계정의 Docker 허브 스크린샷입니다.

    다음 글에서는 GitHub Action을 사용하여 이를 자동화하는 방법에 대해 설명하겠습니다.

    제안이나 질문이 있으시면 저에게 연락해 주십시오.

    좋은 웹페이지 즐겨찾기