ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker 이미지를 수정하여 Docker Hub로 푸시하는 실습.
    Cloud/Container 2023. 2. 13. 00:35

    기존 이미지를 가져와 수정하고 자신의 저장소에 푸시하는 Docker Hub을 사용하는 실습의 단계별 가이드입니다:

    1. Docker Hub 계정 만들기 및 로그인

    • Docker Hub 계정이 없다면 계정을 만듭니다.
    • 계정 정보로 Docker Hub에 로그인합니다.

    2. 기존 이미지 검색

    • 수정할 기존 이미지를 Docker Hub에서 검색합니다.
    • 예를 들어, 공식 Nginx 이미지를 검색할 수 있습니다.

    3. 이미지 다운로드

    • docker pull 명령을 사용하여 이미지를 로컬 컴퓨터에 다운로드합니다.
    • 예를 들어, Nginx 이미지를 다운로드하려면 다음 명령을 실행합니다:
    docker pull nginx

    4. 이미지 수정

    • 기존 이미지를 수정하는 새로운 Dockerfile을 작성합니다.
    • 예를 들어, 웹 서버에서 제공되는 사용자 정의 index.html 파일을 Nginx 이미지에 추가할 수 있습니다.
    • 다음은 Dockerfile의 예입니다:
    FROM nginx COPY index.html /usr/share/nginx/html/
    • Dockerfile과 동일한 디렉토리에 사용자 정의 index.html 파일을 만들고 "my-nginx-image" 텍스트를 포함하도록 수정합니다.
    • 예를 들어, index.html 파일은 다음과 같을 수 있습니다:
    <!DOCTYPE html>
    <html>
    <head>
      <title>Welcome to my Nginx image!</title>
    </head>
    <body>
      <h1>Hello from my Nginx image!</h1>
      <p>This is a custom index page served by my Nginx image.</p>
      <p>This image is called "my-nginx-image".</p>
    </body>
    </html>

    5. 수정된 이미지 빌드

    • docker build 명령을 사용하여 Dockerfile을 사용하여 수정된 이미지를 빌드합니다.
    • 예를 들어, 수정된 Nginx 이미지를 빌드하려면 다음 명령을 실행합니다:
    docker build -t myusername/my-nginx-image .
    • myusername를 Docker Hub 사용자 이름으로, my-nginx-image를 자신이 지정한 이미지 이름으로 바꿉니다.

    6. 이미지 Docker Hub에 푸시

    • docker push 명령을 사용하여 수정된 이미지를 Docker Hub의 자신의 저장소에 푸시합니다.
    • 예를 들어, 수정된 Nginx 이미지를 Docker Hub에 푸시하려면 다음 명령을 실행합니다:
    docker push myusername/my-nginx-image
    • 이렇게 하면 이미지가 Docker Hub에 업로드되며 다른 사람이 사용할 수 있습니다.

    7. 수정된 이미지 테스트

    • docker run 명령을 사용하여 수정된 이미지를 테스트합니다.
    • 예를 들어, 수정된 Nginx 이미지를 테스트하려면 다음 명령을 실행합니다.

    8. Docker 이미지 실행

    • docker run 명령을 사용하여 이미지를 실행합니다.
    • 예를 들어, 실행할 이미지 이름은 myusername/my-nginx-image이며, 호스트의 포트 8080을 컨테이너의 포트 80으로 매핑하려면 다음 명령을 실행합니다:
    docker run -d -p 8080:80 myusername/my-nginx-image
    • 이렇게 하면 이미지에서 컨테이너를 시작하고 컨테이너의 웹 서버가 호스트의 포트 8080에서 실행됩니다.

    9. 웹 브라우저에서 확인

    • 웹 브라우저에서 http://localhost:8080으로 이동하여 컨테이너에서 제공되는 사용자 정의 index.html 페이지가 로드되는지 확인합니다.
    • 페이지는 "my-nginx-image"라는 텍스트를 포함해야 합니다.

    10. 컨테이너 종료

    • docker ps 명령을 사용하여 실행 중인 컨테이너의 ID를 찾습니다.
    • docker stop 명령을 사용하여 컨테이너를 종료합니다.
    • 예를 들어, 컨테이너 ID가 1234abcd5678이면 다음 명령을 실행합니다:
    docker stop 1234abcd5678

    11. Docker 이미지 삭제

    • docker rmi 명령을 사용하여 이미지를 삭제합니다.
    • 예를 들어, 이미지 이름이 myusername/my-nginx-image이면 다음 명령을 실행합니다:
    docker rmi myusername/my-nginx-image

    이상으로 Docker Hub을 사용하여 기존 이미지를 가져와 수정하고 자신의 저장소에 푸시하는 실습이 끝났습니다. 이 실습을 통해 Docker Hub을 사용하여 이미지를 수정하고 공유하는 방법을 배울 수 있습니다.

Designed by Tistory.