본문 바로가기

Server

[Docker] 이미지 및 컨테이너 가이드 ( 2 )

반응형

Docker 설치하기


 

1. Docker 공식 웹사이트에서 운영 체제에 맞는 Docker Desktop 다운로드

https://www.docker.com/products/docker-desktop/

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

 

https://docs.docker.com/engine/install/

 

Install Docker Engine

Learn how to choose the best method for you to install Docker Engine. This client-server application is available on Linux, Mac, Windows, and as a static binary.

docs.docker.com

 

 

2. 설치이후 도커 허브 회원가입

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Increase your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more.

hub.docker.com

 

도커 허브 ( Docker Hub )는 GitHub와 같다고 생각하시면됩니다.

 

코드 저장소에 연결, 이미지를 빌드하고 테스트할 수 있는 공간이며 Docker 공식 이미지들이 저장되어있으며

 

GitHub와 같이 Public, Private Repository로 나누어져 있으며, Private인 경우는 과금이 있습니다.

 

 

3.  설치 완료시 cmd, 터미널을 이용하기

설치이후 cmd를 통해 docker가 설치되었는지 확인하는 법

docker --version

 

cmd, 터미널을 이용해 명령어 입력시 

 

정상적으로 설치되었다면 해당 사진처럼 버전명이 나옵니다.

 

 

 

 

Docker 기본 명령어


 

이미지 관련 명령어

  • docker images, image ls : 로컬에 저장된 이미지 목록 확인
  • docker pull 이미지명 : Docker Hub에서 이미지 다운로드
  • docker rmi 이미지ID : 이미지 삭제

 

컨테이너 관련 명령어

  • docker run 옵션 이미지명 : 새 컨테이너 생성 및 시작
  • docker ps : 실행 중인 컨테이너 목록 확인
  • docker stop 컨테이너ID : 실행 중인 컨테이너 중지
  • docker rm : 컨테이너ID : 중지된 컨테이너 삭제

 

기타 명령어

  • docker logs 컨테이너ID : 컨테이너의 로그 확인
  • docker exec -it 컨테이너ID /bin/bash : 실행 중인 컨테이너에 접속 

 

 

 

 

 

도커 이미지와 컨테이너 이용하기


 

1. cmd, 터미널을 통해 명령어 입력 

 docker pull hell-world

 

Git처럼 앞에 docker라는 수식어를 사용하여 docker pull "이미지이름"

수식어 + 명령어 + 이미지이름

docker pull : 이미지를 가져오는 명령어

 

 

완료시 이러한 이미지파일의 형식대로 이미지가 받아집니다.

 

다운받은 이미지를 확인하려면

docker images
docker image ls

 

두개중의 한개의 명령어를 사용하면 

 

내가 다운받은 이미지를 확인할 수 있습니다.

 

 

이후 실행 시키려면 

docker run -it hello-world

수식어 + 명령어 + 옵션 + 이미지이름

docker run : 이미지로부터 컨테이너를 실행시키는 명령어 

 

docker run -it에서 -it 옵션은 foreground로 실행할 때 사용되는 옵션이며

-i , -t 옵션이 합쳐진 옵션으로

-i 는 현재 호스트와 컨테이너의 상호 입출력을 맞추고

-t 옵션은 TTY를 활성화해서 컨테이너에 터미널로 입력이 가능하게 하는 옵션

 

해당 명령어를 사용하여 hello-world라는 이미지를 실행 시키면

 

이러한 이미지처럼 이 메세지는 설치가 올바르게 작동한다 ~ 하며

이메세지를 생성하기 위해 Docker에서 수행한 단계를 알려주는 문구가 나오게 됩니다.

 

 

 

컨테이너를 통해 TomCat 실행해보기


 

CMD, 터미널을 이용하여

docker run -d -p 8080:8080 --name docker-tomcat tomcat

docker run : 실행한다.

-d : Background로 진행할꺼다.

-p : 호스트의 포트와 컨테이너 포트를 바인딩하겠다 ( 8080포트로 접속할꺼다. )

--name 이름 : 컨테이너 이름 부여 ( 설정안하면 도커 데몬이 자동으로 생성 및 부여 )

 

하지만 명령어를 그대로 치면 docker pull로 Tomcat을 다운안받았으니 실행이 안되는거 아닌가요 ?

 

하지만 docker run 명령어에는 

docker run 안에는 docker pull, create, start, attach 명령어가 포함되어 있습니다.

 

docker run을 통해 설치와 실행을 할수 있습니다.

 

 

 

설치이후에 Docker Desktop이 설치되어 있다면 

Docker Desktop에서 확인이 가능합니다.

 

Tomcat을 명령어를 통해 실행한이후에는

http://localhost:8080을 해당 컴퓨터에서 브라우저를 실행해 주소창에 입력하면

톰캣이 잘 실행됬는지 확인이 가능합니다.

 

 

Tomcat 로그 확인하기


 

우선은 docker ps 명령어로 실행중인 Tomcat 컨테이너의 ID를 확인하거나 

 

위에서 --name 옵션으로 설정한 이름으로 명령어를 입력해준다면 

docker logs -f 792f
docker logs -f docker-tomcat

-f 옵션 : 리눅스의 tail -f 처럼 실시간으로 로그를 계속 받아볼수 있습니다.

( 로그를 확인하는 명령어에서 컨테이너 ID를 네글자만 작성했는데 컨테이너 ID가 한글자여도 식별만 된다면 잘 작동함.)

 

 

TomCat의 로그를 확인할 수 있으며

 

또 다른 방법으로는 Docker Desktop을 이용하여 Containers를 들어가 Name부분을 눌러 주시면

 

 

Docker Desktop을 이용해 GUI로 로그를 확인하실수 있습니다.

 

 

 

컨테이너 종료하기


 

docker ps

 

명령어를 입력하여 

 

Containers의 ID 및 NAMES를 확인했다면

 

docker stop 792
docker stop docker-tomcat

 

docker stop 명령어를 통해 정지시켜줍니다.

 

docker stop 명령어는 활동을 정지시키는 거지 삭제하는 명령어가 아니기때문에 

 

docker ps -a 명령어를 통해 STATUS가 UP 25 minutes 에서  Exited 로 변한걸 알수 있습니다.

 

 

완전히 삭제를 하려면 

docker rm 792
docker rm docker-tomcat

 

docker rm 명령어를 통해 컨테이너를 지워줘야 합니다.

 

반응형

'Server' 카테고리의 다른 글

[Docker] Docker 개념 ( 1 )  (2) 2024.08.30
Redis(NoSql) 설치 및 세팅하기  (1) 2024.07.26