ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker 쓰는 이유와 설치 방법, 명령어
    etc. 2021. 8. 30. 21:55
    728x90

    한 마디로 모든 컴퓨터에서 다 잘 돌아가도록! 컨테이너 기반의 가상화 시스템(Virtualize System)

     

    Cloud 시장의 핵심 기술로써 환영 받고 있음. 물리적인 서버 하나를 빌렸지만 여러 서버처럼 사용할 수 있도록ㅇㅇ

    컴퓨터 한 대에서 여러 운영체제 사용할 수 있도록 하고 싶었으나 현실적으로 불가능ㅇㅇ 어차피 많이 쓰는 우분투나 어쩌구 저쩌구 다 똑같이 리눅스 커널 사용하는데 이를 하나로 퉁칠 순 없을까?

     

    +) 일반적으로 애플리케이션을 가상화하는 경우 VirtualBox나 VMWare 등을 활용해 하드웨어부터 가상화를 합니다만, Docker를 사용하면 실행하고자하는 프로세스만 격리된 환경에서 실행하는 것이 가능합니다. 이를 이용해 손쉽게 프로세스를 격리할 수 있을 뿐만아니라, 격리된 환경을 이미지로 만들어서 Docker만 돌아간다면 어디서든 똑같이 동작하는 컨테이너를 만들 수 있습니다.

    리눅스 컨테이너라는 이름에서 알 수 있듯이 Docker는 리눅스를 기반으로 동작하는 애플리케이션입니다. 따라서 윈도우에서는 이전부터 Docker를 사용하는 게 비교적 까다로웠습니다만, Docker 사에서는 이러한 불편함을 해소하기 위해 Docker Desktop를 공개해 Windows와 Mac 환경에서 Docker를 손쉽게 사용할 수 있도록 도와주고 있습니다.

    한 한 운영체제 위에 Docker를 사용하여 어느 컴퓨터에서나 똑같이 돌아갈 수 있도록 한다. 

     

    그래서 모두를 위한 딥러닝에서는 직접 아나콘다, 파이썬 이런 것을 실제로 다 깔 필요 없이 모든 것이 다 세팅되어있는 docker 이미지를 사용한다. container에서 실습하다가 만약 에러가 난다 ? 쓰던 컨테이너 날리고 다시 컨테이너 깐다. 

     

     

    Docker는 리눅스 서버를 생각하고 만들었기 때문에 (Windows랑 MacOS은 커널 자체가 다른 거 알지?) Windows에서 사영할 때는 별도의 가상 머신을 사용해야 하기 때문에 Linux만큼의 성능이 나오지 않을 수 있고, GPU 사용하지 못 하는 단점이 있다. Windows에 Docker를 설치하기 위해 Virtual box 가상 머신을 포함하는 Docker tool box를 다운 받는다.   (Microsoft에서 2020년 5월 리눅스를 윈도우와 통합해서 사용할 수 있는 WSL2를 발표했기 때문에 더 이상 이렇게 설치 안하는 것 같음.

    • Windows 10 Home 에디션
      • WSL2 기반 Docker Engine 사용 가능

    WSL을 통해 Windows에서 Ubuntu 설치 했으면 Docker Desktop 다운 받으면 될 듯하다. 

    시스템에 WSL2가 활성화되어있다면 Docker는 기본적으로 WSL2를 백엔드로 Docker Engine을 실행한다. 

    Use the WSL 2 based engine (Windows Home can only run the WSL 2 backend) You are using the WSL 2 backend, so resource limits are managed by Windows.

     

    Docker 설치 확인 및 간단한 nginx 서버 예제 실행해보기

    Windows Terminal을 열어서 간단한 테스트를 해보겠습니다. PowerShell 탭을 하나 열고 wsl 명령어로 Docker 전용 머신이 실행중인 것을 확인할 수 있습니다.

    $ wsl -l -v NAME STATE VERSION * docker-desktop Running 2 docker-desktop-data Running 2

    wsl로 docker-desktop 리눅스에 명령어를 실행해볼 수 있습니다. docker-desktop은 BusyBox 기반의 경량 리눅스인 것을 확인해볼 수 있습니다.

    $ wsl -d docker-desktop busybox BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary. ...

    docker version 명령으로 Docker 서버와 클라이언트 정보를 확인해봅니다.

    $ docker version Client: Cloud integration: 1.0.17 Version: 20.10.7 API version: 1.41 ... Server: Docker Engine - Community Engine: Version: 20.10.7 API version: 1.41 (minimum version 1.12) ...

    docker ps로 실행중인 컨테이너를 확인해봅니다.

    $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

    아직 아무것도 실행중이지 않은 것을 확인할 수 있습니다. 여기서부터는 nginx 이미지로 간단한 서버 테스트를 해보겠습니다. 먼저 웹 브라우저를 열어 127.0.0.1:4567에 접속해봅니다. 다음과 같이 사이트에 접속을 할 수 없는 상태인 것을 확인합니다.

    4567 포트로 접속해도 아무것도 나타나지 않습니다

    docker run 명령어로 nginx 이미지 기반 컨테이너를 하나 실행해봅니다.

    $ docker run -p 4567:80 -d nginx:latest Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx b4d181a07f80: Pull complete edb81c9bc1f5: Pull complete b21fed559b9f: Pull complete 03e6a2452751: Pull complete b82f7f888feb: Pull complete 5430e98eba64: Pull complete Digest: sha256:47ae43cdfc7064d28800bc42e79a429540c7c80168e8c8952778c0d5af1c09db Status: Downloaded newer image for nginx:latest 5909b49c4a0e677fae0146846bdf4feca1ef869ece4cc46499f58d00f311e3d1

    Docker에서는 이미지를 자동으로 다운로드 받고 실행해줍니다. docker ps로 실행한 컨테이너를 확인합니다.

    $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5909b49c4a0e nginx:latest "/docker-entrypoint.…" 1 second ago Up Less than a second 0.0.0.0:4567->80/tcp, :::4567->80/tcp musing_allen

    다시 웹 브라우저에서 127.0.0.1:4567에 접속해보면, 이제 ‘Welcome to nginx!’ 메시지가 나타납니다.

    4567 포트로 nginx 서버가 실행중인 것을 확인할 수 있습니다

    사용하지 않는 컨테이너는 docker rm 명령어로 삭제해줍니다. 5909b49c4a0e는 docker ps에서 확인할 수 있는 컨테이너 ID입니다.

    $ docker rm -f 5909b49c4a0e

    이제 즐겁게 Docker를 활용하기만 하면 됩니다! LainyZine에서는 Docker 관련 기능과 팁을 소개하고 있으니 참고해주세요.

     

    참고: https://www.lainyzine.com/ko/article/a-complete-guide-to-how-to-install-docker-desktop-on-windows-10/#windows-10-home%EA%B3%BC-pro%EC%97%90%EC%84%9C-docker-%EC%84%A4%EC%B9%98-%EC%B0%A8%EC%9D%B4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0

     

    [Windows 10] Docker 설치 완벽 가이드(Home 포함)

    Docker는 경량 가상화 기술인 리눅스 컨테이너 도구입니다. Windows 10 Home과 Pro에서도 몇 가지 설정을 통해 Docker Desktop으로 리눅스 컨테이너를 사용할 수 있습니다. 이 글에서는 Windows 10에서 Docker Des

    www.lainyzine.com

     

    https://blog.nachal.com/1691

     

    ahndoori

    .

    blog.nachal.com

    https://brunch.co.kr/@hopeless/10

     

    [Docker] 도커 이미지와 컨테이너 삭제 방법

    도커 이미지는 docker images 명령어로 보면 점점 늘어나는 것을 확인할 수 있다. 이것들은 어떻게 하면 삭제할 수 있는지를 정리했다. 컨테이너 삭제 동작중인 컨테이너 확인 $ docker ps 정지된 컨테

    brunch.co.kr

     

    728x90
Designed by Tistory.