이 자습서는 VS Code(Visual Studio Code)와 함께 사용할 Docker 를 소개하는 4부로 구성된 시리즈의 2부입니다.
이 튜토리얼에서는 다음을 배우게 됩니다:
- 코드를 업데이트하고 컨테이너를 바꿉다.
- 이미지를 공유합니다.
- 새 인스턴스에서 이미지를 실행합니다.
필수 조건
이 자습서에서는 Visual Studio Code를 사용하여 컨테이너 앱 만들기라는 이전 자습서를 계속 진행합니다. 여기서 계속하려면 1부에서 실행 중인 할 일 목록 관리자가 필요합니다.
코드 업데이트 및 컨테이너 바꾸기
몇 가지 변경을 수행하고 컨테이너 관리에 대해 알아보겠습니다.
파일에서
src/static/js/app.js
이 새 텍스트 레이블을 사용하도록 줄 56을 업데이트합니다.- <p className="text-center">No items yet! Add one above!</p> + <p className="text-center">You have no todo items yet! Add one above!</p>
변경 내용을 저장합니다.
컨테이너의 현재 버전을 중지하고 제거합니다. 둘 이상의 컨테이너는 동일한 포트를 사용할 수 없습니다.
시작 컨테이너를 마우스 오른쪽 단추 로 클릭하고 제거를 선택합니다.
또는 명령줄에서 다음 명령을 사용하여 컨테이너 ID를 가져옵니다.
docker ps
그런 다음, 컨테이너를 중지하고 제거합니다.
docker stop <container-id> docker rm <container-id>
업데이트된 버전의 이미지를 빌드합니다. 파일 탐색기에서 Dockerfile을 마우스 오른쪽 단추로 클릭한 다음, 이미지 빌드를 선택합니다.
또는 명령줄에서 빌드하려면 디렉터리를 Dockerfile이 포함된 폴더로 변경하고 이전에 사용한 것과 동일한 명령을 사용합니다.
docker build -t getting-started .
업데이트된 코드를 사용하는 새 컨테이너를 시작합니다.
docker run -dp 3000:3000 getting-started
브라우저를 새로 고치셔서
http://localhost:3000
내의 업데이트된 도움말 텍스트를 확인하시기 바랍니다.
이미지 공유
이제 이미지를 빌드했으므로 공유할 수 있습니다. 컨테이너 이미지를 공유하려면 컨테이너 레지스트리를 사용합니다. 기본 레지스트리는 Docker 허브로, 사용한 모든 이미지의 원본입니다.
이미지를 푸시하려면 먼저 Docker Hub에 리포지토리를 만들어야 합니다.
Docker 허브로 이동하여 계정에 로그인합니다.
리포지토리 만들기를 선택합니다.
리포지토리 이름에 .를 입력합니다
getting-started
. 표시 유형이 공용인지 확인합니다.선택하고생성합니다.
페이지 오른쪽에 Docker 명령이라는 섹션이 표시됩니다. 이 섹션에서는 이 리포지토리로 푸시하기 위해 실행하는 예제 명령을 제공합니다.
VS Code의 컨테이너 탐색기에서 레지스트리 아래에서 플러그 아이콘을 클릭하여 레지스트리에 연결하고 Docker Hub를 선택합니다.
Docker Hub 계정 이름 및 암호를 입력합니다.
VS Code의 컨테이너 탐색기에서 이미지에서 이미지 태그를 마우스 오른쪽 단추로 클릭하고 푸시를 선택합니다. 네임스페이스와 태그를 입력하거나 기본값을 적용합니다.
명령줄을 사용하여 Docker Hub로 푸시하려면 이 절차를 사용합니다.
Docker 허브에 로그인합니다.
docker login -u <username>
다음 명령을 사용하여 시작 이미지에 새 이름을 지정합니다.
docker tag getting-started <username>/getting-started
다음 명령을 사용하여 컨테이너를 푸시합니다.
docker push <username>/getting-started
새 인스턴스에서 이미지 실행
이제 이미지가 빌드되어 레지스트리에 푸시되었으므로 이 컨테이너 이미지를 본 적이 없는 새 인스턴스에서 앱을 실행해 보세요. 앱을 실행하기 위해 Play with Docker를 이용합니다.
브라우저를 열어 Docker로 재생합니다.
Docker 허브 계정으로 로그인합니다.
시작을 선택한 다음 왼쪽 사이드바에서 + 새 인스턴스 추가 링크를 선택합니다. 몇 초 후에 브라우저에서 터미널 창이 열립니다.
터미널에서 앱을 시작합니다.
docker run -dp 3000:3000 <username>/getting-started
Docker를 사용하여 재생하면 이미지가 아래로 당겨지고 시작됩니다.
OPEN PORT 옆에 있는 3000 배지를 선택합니다. 수정된 앱이 표시됩니다.
3000 배지가 표시되지 않으면 OPEN PORT를 선택하고 3000을 입력합니다.
자원을 정리하세요
지금까지 수행한 모든 작업을 유지하여 이 자습서 시리즈를 계속 진행합니다.
다음 단계
축. 2부를 완료하고 코드를 업데이트하고 새 인스턴스에서 이미지를 실행하는 방법을 알아보았습니다.
다음은 사용자에게 유용할 수 있는 몇 가지 리소스입니다.
다음으로, 이 시리즈의 다음 자습서를 시도해 보세요.