ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker란
    Docker & Kubernetes 2019. 2. 19. 09:32

    Docker란?




     도커란 컨테이너 기반의 오픈소스 가상화 플랫폼이다.

    다양한 프로그램, 실행 환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 

    프로그램의 배포 및 관리를 쉽고 단순하게 해준다


    컨테이너(Container)란?


    컨테이너란 격리된 공간에서 프로세스가 동작하는 기술이다.

    가상화 기술의 하나지만 기존 방식과는 차이점이 존재한다.

    호스트 OS상에 논리적인 컨테이너를 만들고, 애플리케이션을 작동하기 위해

    필요한 라이브러리나 애플리케이션 등을 하나로 모아, 별도의 서버인 것처럼 사용하는 것이다.



    Docker와 가상화의 차이점은?


    도커는 컴퓨팅 가상화와 유사하지만, 컴퓨팅 가상화가 여러 개의 운영체제를 생성하기 위해

    서버를 가상화하는 것과는 달리 도커는 운영체제를 가상화해 단일 호스트에서 

    다중 워크로드를 구동할 수 있는 가벼운 대안이 된다.







    도커의 전체적인 인프라는 위와 같다.



    도커 설치 과정





    실습을 위한 CentOS 7 VM 생성


















    설치 후 네트워크 설정

    CentOS 7 부터 eth0 -> ens33





    네트워크 설정 후 Ping Test





    ifconfig를 사용하기 위해 net-tools설치





    ifconfig로 network 확인





    미니멀 버전이기 때문에 yum update를 한다.





    docker를 다운받는다







    도커가 실행되고있는지 확인한다.




    docker image를 다운받는다.

    위와 같이 Docker에서 제공하는 버전을 받는 방법과 개인이 배포한 Image를 받는 방법이 있다.

    Image 배포하는 방법은 뒤에서 설명.





    컨테이너를 생성한다.


    컨테이너를 생성하는 방법에는 2가지가 있다.


    Create를 사용하여 Docker Image로부터 컨테이너를 생성만 하는 방식과

    Run을 사용하여 컨테이너 생성과 동시에 실행시키는 방식이 있다.





    생성한 Container를 실행시키기 위해서 docker start <container name> 을 입력한다.


    실행중인 컨테이너를 확인하기 위한 명령어는 

    docker ps 이고


    실행되지 않은 모든 컨테이너를 확인하는 명령어는

    docker ps -a 이다.




    생성한 컨테이너를 제어하는 방법으로 attach와 exec이 있다


    docker attach <Container name or ID>을 한다.

    attach 명령어를 사용하게 되면 컨테이너에 연결하게 된다.

    이 때 ctrl + c 를 누르면 컨테이너를 종료한 뒤 나오게 되고

    ctrl + q, ctrl + p를 입력하면 컨테이너는 시작한채로 컨테이너 안의 프로세스만 종료한다.


    다른 방법으로는 docker exec 이다.

    가동중인 컨테이너에서 새로운 프로세스를 실행할 때는 docker container exec명령을 사용한다.

    백그라운드에서 실행되고 있는 컨테이너에 액세스하고 싶을 때 attach명령으로 연결해도 쉘이 작동하지 않으면

    exec을 사용하여 임의의 명령을 실행한다.








    도커에 자바를 설치까지 하며 도커 설치를 완료하였다.



     







    'Docker & Kubernetes' 카테고리의 다른 글

    Kubernetes - Pod란?  (0) 2019.10.03
    CentOS 7 - 쿠버네티스 설치  (0) 2019.06.09
    Kubernetes란?  (0) 2019.06.09
    Docker Swarm이란  (0) 2019.02.19
    Docker commit을 이용하여 컨테이너를 이미지로 배포하기  (0) 2019.02.19
Designed by Tistory.