[Docker] Container 다루기[Docker] Container 다루기

Posted at 2020. 3. 11. 18:24 | Posted in Docker
반응형





■ 컨테이너( Container ) 다루기




run 명령어와 create 명령어는 컨테이너를 생성만 할뿐 컨테이너로 바로 들어가 지지 않는다.




#01. 컨테이너 생성 - Ubuntu



 $ sudo docker run -i -t --name ubuntu_docker -p 80:80 -p 3306:3306 ubuntu:18.04

 



#02. 컨테이너 생성 - CentOS



※ 레드햇( RedHat ) 계열의 리눅스를 사용하는경우


레드햇 계열의 리눅스를 사용할 경우 정상적으로 접속



 $ sudo docker create -i -t --privileged -d --name cent_docker -p 80:80 -p 3306:3306 centos:7 init

 $ sudo docker exec -i -t cent_docker bash

 




$ sudo docker start cent_docker


$ sudo docker attach cent_docker


반응형

'Docker' 카테고리의 다른 글

[Docker] Ubuntu - 도커 설치하기  (0) 2020.03.11
[Docker] 도커(Docker)란?  (0) 2020.03.10
//

[Docker] Ubuntu - 도커 설치하기[Docker] Ubuntu - 도커 설치하기

Posted at 2020. 3. 11. 02:06 | Posted in Docker
반응형




참조 : https://hiseon.me/linux/ubuntu/install-docker/

참조 : https://roseline124.github.io/kuberdocker/2019/07/17/docker-study02.html




#01. 도커 설치여부 확인


사전에 도커의 설치 여부를 확인한다.


 $ sudo apt-cache policy docker-ce



만약 도커가 설치되어 있었다면,


remove 명령을 사용하여 도커를 삭제한 클린한 환경을 만든 다음


설치를 진행하자.



 $ sudo apt-get remove docker docker-engine docker.io







#02. 저장소( repository ) 갱신하기



우분투를 포함해 리눅스 배포판들은 주요 리눅스 프로그램들을 저장소라는 곳에 한 데 모아 제공한다. 이러한 프로그램을 패키지라고 한다.


이 저장소에 올라간 패키지들은 최신 버전이 아닌 경우가 많고, 사용자 리눅스 환경설정과 맞지 않아 설치가 되지 않는 경우가 있다.


최신 패키지로 저장소에 있는 패키지들을 업데이트 하려면 아래 명령어를 입력한다.



 $ sudo apt-get update









① apt-transport-https

 -. 패키지 관리자가 https를 통해 데이터 및 패키지에 접근할 수 있도록 한다.

 $ sudo apt-get install apt-transport-https




② ca-certificates : ca-certificate는 certificate authority에서 발행되는 디지털 서명. SSL 인증서의 PEM 파일이 포함되어 있어

                        SSL 기반 앱이 SSL 연결이 되어있는지 확인할 수 있다.

 $ sudo apt-get install ca-certificates




③ curl : 특정 웹사이트에서 데이터를 다운로드 받을 때 사용

 $ sudo apt-get install -y curl



④ software-properties-common : 

 -. *PPA를 추가하거나 제거할 때 사용한다.

 $ sudo apt-get install -y software-properties-common 



※ PPA( Personal Package Archive )란?


· 개인 패키지 저장소. 

· 개발자가 소스코드를 업로드하면 자동으로 패키지화함. 

· 사용자가 다운로드 받아 설치할 수 있게 해주는 소프트웨어 저장소.






#04. 도커 다운받기


curl 명령을 사용하여 도커를 다운 받는다.


 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add


※ apt-key 

 패키지를 인증할 때 사용하는 키 리스트를 관리한다. 

 이 키를 사용해 인증된 패키지는 신뢰할 수 있는 것으로 간주한다. 

 add 명령어는 키 리스트에 새로운 키를 추가하겠다는 의미이다.



#05. repository에 패키지 저장소 추가


PPA 저장소를 추가해준다.

apt 리스트에 패키지를 다운로드 받을 수 있는 경로구 추가된다.


 $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"






#06. repository에 저장소의 패키지 갱신




 $ sudo apt-get update




저장소에 라리브러리가 제대로 추가 되었는지 확인해 본다.


 $ sudo apt-cache policy docker-ce



apt-cache : 우분투에서 소프트웨어나 라이브러리를 터미널에서 검색한다.

policy : 내가 어떤 저장소를 설치했는지를 보여준다. 저장소를 설치했는지 안했는지 기억이 안날때 유용하다.






#07. 도커 설치하기

 $ sudo apt-get install -y docker-ce



#07. 도커 설치 확인



 $ sudo systemctl status docker



systemctl : 리눅스에서 서비스를 등록, 삭제(mask, unmask) / 활성화, 비활성화(enable, disable) / 시작, 중지, 재시작(start, stop, restart) / 상태 확인(status) / 서비스 확인(list-units, list-unit-files)을 할 수 있는 명령어




 $ docker -v




※ 참고 


아래 명령어는 접속한 사용자 계정을 docker 그룹에 추가하는 내용이다.


 $ sudo usermod -aG docker $USER





반응형

'Docker' 카테고리의 다른 글

[Docker] Container 다루기  (0) 2020.03.11
[Docker] 도커(Docker)란?  (0) 2020.03.10
//

[Docker] 도커(Docker)란?[Docker] 도커(Docker)란?

Posted at 2020. 3. 10. 01:17 | Posted in Docker
반응형




발췌 : 시작하세요! 도커





■ 도커( Docker ) 란?





· 도커( Docker )는 리눅스 컨테이너에 여러 기능을 추가함으로써 

  플리케이션을 컨테이너로서 좀더 쉽게 사용할 수 있게 만들어진 오픈소스 프로젝이다.


· 도커는 GO 언어로 작성돼 있으며, 2013년 3월에 첫 번째 릴리스가 발표된 이후 지금까지 꾸준히 개발되고 있다.


· 기존에 쓰이던 가상화 방법인 가상 머신과는 달리 도커 컨테이너는 성느으이 손실이 거의 없어서

  차세대 클라우드 인프라 솔루션으로서 많은 개발자들에게 주목 받고 있다.




도커와 관련된 프로젝트는 도커 컴포즈( Docker Compose ), 레지스트리( Private Registry ), 도커 머신( Docker Machine ), Kitematic 등


여러가지가 있지만 일반적으로 도커라고 하면 도커 엔진( Docker Engine ) 혹은 도커에 관련된 모든 프로젝트를 의미한다.


보통 도커 엔진이라는 의미로 더 많이 쓰이는데 도커 엔진은 컨테이너를 생성하고 관리하는 주체로서 이 자체로도 컨테이너를 제어할 수 있고


다양한 기능을 제공하는 도커의 주 프로젝트이기 때문이다.



도커의 생태계에 있는 여러 프로젝트들은 도커 엔진을 좀 더 효율적으로 사용하기 위한 것에 불과하기 때문에 핵심이 되는 것은 도커 엔진이다.


이 때문에 도커 엔진을 사용하는 방법을 익히는 것은 도커와 관련된 모든 프로젝트를 능숙하게 다루기 위한 첫걸음이라고 봐도 무방하다.









#01. 가상 머신과 도커 컨테이너




기존의 가상화 기술은 하이바이저를 이용해 여러 개의 운영체제를 하나의 호스트에서 생성해 사용하는 방식이었다.


이러한 여러개의 운영체제는 가상 머신이라는 단위로 구별되고,


각 가상머신에는 Ubuntu, CentOS 등의 운영체제가 설치되어 사용된다.


하이바이저에 의해 생성되고 관리되는 운영체제는 게스트 운영체제( Guest OS ) 라고 하며,


각 게스트 운영체제는 다른 게스트 운영체제와는 완전히 독립된 공간과 시스템 자원을 할당받아 사용한다.


이러한 가상화 방식을 사용할 수 있는 대표적인 가사황 툴로 VirtualBox, VMware 등이 있다.







그러나 각종 시스템 자원을 가상화하고 독립된 공간을 생성하는 작업은 하이퍼바이저를


반드시 거치기 때문에 일반 호스트에 비해 성능의 손실이 발생한다.


그뿐만 아니라 가상 머신은 게스트 운영체제를 사용하기 위한 라이브러리, 커널 등을 전부 포함하기 때문에 


상 머신을 배포하기 위한 이미지로 만들었을 때 이미지의 크기 또한 커진다.


즉, 가상머신은 완벽한 운영체제를 생성할 수 있다는 장점은 있지만 일반 호스트에 비해 성능 손실이 있으며,


수 기가바이트에 달하는 가상 머신 이미지를 애플리케이션으로 배포하기는 부담스럽다는 단점이 있다.




이에 비해 도커 컨테이너는 가상화된 공간을 생성하기 위해 리눅싕 자체 기능이 chroot, 네임스페이스( namespace ), cgroup을 사용함으로써


프로세스 단위의 격리 환경을 만들기 때문에 성능 손실이 거의 없다.


컨테이너에 필요한 커널은 호스트의 커널을 공유해 사용하고,


컨테이너 안에는 애플리케이션을 구동하는데 필요한 라이브러리 및 실행 파일만 존재하기 때문에


컨테이너를 이미지로 만들었을 때 이미지의 용량 또한 가상머신에 비해 대폭 줄어든다.


따라서 컨테이너를 이미지로 만들어 배포하기는 시간이 가상머신에 비해 빠르며,


가상화된 공간을 사용할 때의 성능 손실도 거의 없다는 장점이 있다.










#02. 도커 엔진



01) 도커 엔진이 구동 가능한 OS



도커는 다양한 운영체제에서 사용할 수 있다.


도커는 리눅스 컨테이너를 제어하는 API를 GO언어로 구현한 libcontainer를 사용하기 때문에


대부분의 리눅스 운영체제에서 사용할 수 있다.


도커를 사용할 때 쓰는 대표적인 리눅스 운영체제로는 Ubuntu, CentOS 등이 있다.


어느 운영체제를 선택하든 상관 없지만 가능하다면 지원이 중단되지 않은 최신 버전의 운영체제 배포판을 사용하는 것이 좋다.


마이크로소프트 윈도우, 맥 OS X에서도 도커를 사용할 수 있지만


Windows10, Mac OS X 10.10.3 Yosemite 이전 버전의 운영체제를 사용한다면 도커를 사용하기 위해


가상화 공간을 별도로 생성해야 한다.


그러나 도커가 어느 운영체제에 설치되든 사용법은 거의 같다.




02) 도커 엔진의 종류 및 버전



2017년 이전의 도커 엔진은 1.12과 같이 1.x 버전으로 표기되어 왔다.


그러나 도커 엔진은 1.13을 마지막으로, 2017년 3월부터 도커 엔진은 도커 EE( Docker Enterprise Edition )와


도커 CE( Community Edition )으로 구분되어 제공되고 있으며,


버전 이름 또한 17.03-EE 또는 17.03.CE와 같이 ( 출시 년도 ) - ( 출시 월 ) - ( 도커 엔진 종류 )의 형태로 변경되어 왔다.



도커 EE는 유료로 제공되는 기업용 솔루션이며, 각종 기술 지원 및 실제 서비스 단계에서


필요한 각종 부가 기능들을 도커 엔진과 함께 제공한다.


도커 CE는 무료로 제공되는 도커 엔진으로서, 별도의 기술 지원 및 서비스를 제공하지는 않지만


도커 엔진 자체의 핵심적인 기능을 무료로 사용할 수 있다는 장점이 있다.


또한 도커 EE는 3개월마다 안정화된 버전으로서 릴리즈 되는 반면 도커 CE는 stable과 edge 버전으로 구분해


각각 3개월, 1개월 단위로 릴리즈 된다는 차이점도 있다.



도커 EE와 도커 CE는 기술 지원 및 서비스 운용을 위한 부가적인 서비스 지원 수준에서 차이가 있지만,


핵심적인 컨테이너 기술은 도커 CE에서도 동일하게 사용할 수 있다.



도커 CE의 edge 버전은 새로운 기능을 먼저 사용해 볼 수 있다는 장점이 있지만


각종 버그가 발생할 수 있기 때문에 가능하면 도커 CE의 stable 버전을 설치하는 것을 권장한다.








반응형

'Docker' 카테고리의 다른 글

[Docker] Container 다루기  (0) 2020.03.11
[Docker] Ubuntu - 도커 설치하기  (0) 2020.03.11
//