본문 바로가기
🌩️ 클라우드,배포/Docker, Kubernates

🐳 docker 실습 1

by 정람지 2024. 8. 26.

💗

02.Docker DeskTop Install

03.Docker Helloworld Run

04.Docker Base


🐳 Docker 테스트 실행

docker run hello-world

맨 처음에 이미지가 로컬에도 들어가 있지 않으므로 원격에서 가져오며 종료, 다음 실행 시엔 원격에서 가져온 이미지가 실행됨

원격에서 가져오기 : (원래는 docker pull 명령어를 사용) Docker 이미지가 Docker Hub에서 다운로드

 

 

hello-world - Official Image | Docker Hub

Docker Official Images are a curated set of Docker open source and drop-in solution repositories. Why Official Images? These images have clear documentation, promote best practices, and are designed for the most common use cases.

hub.docker.com

Docker Official Image인 hello-world

테스트용으로 아주 간단함

단순히 "Hello from Docker!" 라는 메시지를 콘솔에 출력하는 작은 실행 파일만 포함되어 있음!


 

 

https://hub.docker.com/r/docker/welcome-to-docker

 

hub.docker.com

docker run -d -p 80:80 docker/welcome-to-docker:latest

 

- -d: 컨테이너를 백그라운드 모드로 실행하여 터미널을 즉시 반환

- -p 80:80: 호스트의 80번 포트와 컨테이너의 80번 포트를 연결. 이를 통해 외부에서 컨테이너의 웹 서버에 접근할 수 있게 됨

- docker/welcome-to-docker: 사용할 이미지의 이름과 태그. latest는 해당 이미지의 최신 버전을 사용하겠다는 의미

 

이 구성을 통해 로컬 시스템의 웹 브라우저에서 http://localhost 주소로 해당 컨테이너에 접속할 수 있음

 

GitHub - docker/welcome-to-docker

Contribute to docker/welcome-to-docker development by creating an account on GitHub.

github.com

Dockerfile 있으면 도커로 빌드 가능한 것~


🐳 Docker Image 구성

 

“<레지스트리_주소>/<계정명>/<이미지_명>:<태그>”

 

태그 : 같은 이미지에 서로 다른 버전을 구분하기 위해 사용됨


🐳 Docker 명령어

docker images docker-test-server
docker pull pytorch/pytorch

Using default tag: latest 됨

docker rmi docker-test-server
docker rmi 86f4ebf4f55a

 

docker commit 

 

실행 중인 도커 컨테이너 보기 

docker ps

-a 중지된 것

 

docker run -it 이미지명

-i (interactive)

  • -i 플래그는 interactive 모드를 의미합니다.
  • 이 플래그는 컨테이너의 표준 입력(STDIN)을 열어두어, 사용자가 터미널에서 컨테이너와 상호작용할 수 있게 합니다.
  • 예를 들어, 쉘이나 REPL(대화형 해석기)을 실행할 때 사용자 입력을 받아야 하는 경우에 유용합니다.

-t (tty)

  • -t 플래그는 tty(teletypewriter)를 의미합니다.
  • 이 플래그는 Docker가 가상 터미널을 할당하도록 지시합니다. 이는 사용자가 터미널에서 작업할 때 화면에 더 나은 형식의 출력(예: 줄바꿈, 컬러링 등)을 제공하기 위해 필요합니다.
  • -t 플래그가 없으면, 컨테이너 내부에서 터미널 기반 명령어를 실행할 때 포맷팅이 이상하게 보일 수 있습니다.

 

 이미지 생성후 이미지 변경(commit, tag)시 실제 변화가 없으면 명칭을 달라도 이미지ID가 동일하다.

- docker rmi 이미지ID 로 삭제 안됨 (중복 이미지 ID존재 시)

- docker rmi 이미지명:태그로 삭제

 

 컨테이너에 올라간 이미지를 수정해서 태그 버전 변경 시 기존 이미지를 가져오고 변경분만 반영

- 도커이미지는 여러 개의 파일로 구성된다.이를 레이어라고 함

- 기존 레이어에 변경된 레이어를 더해 반영되므로 빠른 변경이 가능

 

 docker 이미지 백업 관리

- 내부 관리 저장소가 없을 경우 유용하게 사용할 수 있음

- 아카이브 파일 tar형태로 백업을 하여 관리하고자 할 때 유용

- public망에서 private망으로 이미지파일 반영 시 유용

 

 백업 받은 tar 파일이 정상인지 판단 여부

- tar파일 열어서 오픈해보았을 때 오류 표시가 없으면 정상

 도커이미지에서 컨테이너로 실행 시 주의점

- 실행 후 어플리케이션이 정상적으로 구동됐는지 확인

- 컨테이너 실행과 해당 어플리케이션 실제 구동과는 시간차가 존재. docker ps로 모니터링 필요

 컨테이너 실행 후 바로 종료될 때 대응

- 실행후 종료되면 docker run 실행시 백그라운드 옵션(-d) 제외하고 실행]

- 실행시 log가 콘솔창에 출력되므로 해당로그를 확인

'🌩️ 클라우드,배포 > Docker, Kubernates' 카테고리의 다른 글

🐳 docker 실습 2 ing  (0) 2024.08.26
🐳 docker 공부  (5) 2024.08.17
🔅 kubernates 🕸️🔷  (0) 2024.08.16
🐳 docker 공부 / 실습  (0) 2024.08.16