도커

[Docker] 1. 도커 입문: 도커 설치 및 이미지 pull, 컨테이너 run (with. 생활코딩)

하방주인장 2024. 4. 10. 14:06
반응형

 

목차

    1. 도커 설치

    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

     

    운영체제에 맞게 도커를 설치합니다. (게시물은 window 기준)

    설치가 완료되면 화면 오른쪽 밑에 도커 아이콘이 보입니다.

     

    해당 아이콘 더블 클릭 혹은 오른쪽 클릭 > Dashboard 로 들어가면 도커 대시보드 UI를 볼 수 있습니다.

    하지만, 보통 커맨드(터미널) 창에서 도커를 사용하기 때문에 바로 본론으로 가겠습니다.

     

    우선, 도커가 잘 설치되었는지 확인해보겠습니다. 

     

    1. 터미널 실행

     

    터미널에 docker image 라고 치고 엔터를 눌렀을 때 오류 문구 없이 다음과 같이 출력된다면 도커가 잘 설치된 것 입니다!

    그럼, 다음은 이미지를 다운받아 봅시다. 

     

    2. 도커 이미지 Pull

    도커 허브에서 이미지를 다운로드 받는 것을 pull 이라고 하며,

    이미지를 실행시키는 것을 run 이라고 하고, run을 하게 되면 컨테이너가 생성됩니다.

     

    그럼 아파치 웹서버 이미지를 다운로드 받는 간단한 예제를 바로 해보도록 합시다. 

     

    1. 먼저, 도커 허브 사이트로 들어가 httpd 를 검색합니다.

    https://hub.docker.com/_/httpd

     

    httpd - Official Image | Docker Hub

    Quick reference Supported tags and respective Dockerfile links 2.4.58, 2.4, 2, latest, 2.4.58-bookworm, 2.4-bookworm, 2-bookworm, bookworm 2.4.58-alpine, 2.4-alpine, 2-alpine, alpine, 2.4.58-alpine3.19, 2.4-alpine3.19, 2-alpine3.19, alpine3.19 Quick refere

    hub.docker.com

     

    들어가면 도커 이미지를 다운받는 코드를 알 수 있습니다.

    그러면, 터미널에서 해당 코드를 쳐서 엔터를 친 후 docker images라고 치면 다음과 같이 다운받은 이미지를 확인할 수 있습니다. 

     

     

    3. 컨테이너 run, stop, rm

    다음은 httpd 이미지를 실행시켜보겠습니다. 

    터미널에서 docker run --name ws2 httpd 라고 입력합니다.

     

    자세한 설명은 docs에서 확인하시면 됩니다.

    https://docs.docker.com/reference/cli/docker/container/run/

     

    docker run

     

    docs.docker.com

     

    다른 터미널 창을 열어서 docker ps 라고 입력하면 실행 중인 컨테이너를 확인할 수 있습니다.

     

    그러면 해당 컨테이너를 중지해보겠습니다. 

    docker stop [container name]

    docker ps로 확인해보면 현재 실행 중인 컨테이너가 없음을 확인할 수 있고

    docker ps -a로 확인해보면 존재하는 컨테이너 모두를 확인할 수 있습니다. 

     

    때문에, 해당 컨테이너를 다시 실행시키고 싶으면 docker start ws2로 다시 실행시키면 됩니다. 

    하지만, 처음 실행했을 때 처럼 로그 데이터가 보이지 않습니다. 

    로그 데이터가 보고 싶다면 

    docker logs [container name]

    docker logs -f [container name] : 실시간으로 로그 변화를 보여줌

    라고 입력하면 됩니다. 

     

    그러면 해당 컨테이너를 삭제해보겠습니다. 

    삭제는 모두가 익숙한 rm을 사용하면 됩니다.

    docker rm [container name]

     

    여기서 주의해야할 점은 컨테이너를 중지하고 삭제하지 않으면 다음과 같은 에러가 뜬다는 것입니다. 

     

    때문에, 두가지 방법으로 컨테이너를 삭제하면 됩니다.

    1. docker stop ws2 > docker rm ws2

    2. docker rm ws2 --force

    1번은 컨테이너 중지 후 삭제하는 방법이고 2번은 강제로 삭제해버리는 방법입니다. 

    혹시 모르니 1번을 권장합니다.

     

    그러면, httpd와 같은 이미지는 어떻게 삭제할까요?

    docker rmi [IMAGE]

    라고 입력하면 됩니다. 

     

     잘 삭제가 된 것을 확인할 수 있습니다!