-
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을 사용하여 이미지를 수정하고 공유하는 방법을 배울 수 있습니다.
'Cloud > Container' 카테고리의 다른 글
Docker 컨테이너에서의 파일시스템의 격리 확인 실습 (0) 2024.08.07 Docker cgroup v2 및 namespace 실습 가이드 (Ubuntu 24.04) (0) 2024.08.06 docker run 명령으로 띄운 컨테이너가 프로세스 임을 확인할 수 있는 실습 (0) 2024.08.06 Docker를 사용하여 간단한 웹 애플리케이션을 만드는 단계별 실습 (0) 2023.02.12 chroot 명령어로 도커 컨테이너와 유사한 환경을 만들어보는 실습 (0) 2023.02.07