2020. 7. 9. 13:38ㆍSystem/Beginner
아래는 참고사이트의 내용을 정리한 요약본입니다.
모든 출처는 아래의 사이트에 있습니다.
Docker란?
- 2013년에 등장한 컨테이너 기반 가상화 도구.
- 현재 Go 언어로 개발되고 있으며, 2014년에 1.0버전을 발표하고 2020년 현재는 19.03.8버전이다.
- 도커는 리눅스 상에서 컨테이너 방식으로 프로세스를 격리해서 실행,관리
- 이미지를 기반으로 컨테이너를 실행.
- 이미지 파일은 원격 저장소를 사용해 쉽게 공유 가능.
컨테이너란?
- 기존의 가상머신에서는 호스트 머신에 가상화된 하드웨어와 OS를 구축함으로써, 호스트와는 다른 환경을 구축.
- 컨테이너는 하드웨어를 소프트웨어로 재구현하는 가상머신과는 달리 프로세스의 실행 환경을 격리
- 호스트 입장에서 컨테이너는 단순히 프로세스.
- LXC(리눅스 컨테이너)로부터 파생된 도커 컨테이너.
- 이미지(파일들의 집합) 위에서 실행된 특별한 프로세스.
- docker run -it <이미지이름:태그> <명령어> ex. $docker run -it centos:latest baxh
- docker ps -->목록
- 컨테이너는 가상머신처럼 보이지만 가상머신은 아니다.
가상머신 = 컴퓨터, 컨테이너는 단지 격리된 프로세스
" " "도커는 가상머신과 같이 하드웨어를 가상화하는 것이 아니라, 리눅스 운영체제에서 지원하는 다양한 기능을 사용해 컨테이너(하나의 프로세스)를 실행하기 위한 별도의 환경(파일 시스템)을 준비하고, 리눅스 네임스페이스와 다양한 커널 기능을 조합해 프로세스를 특별하게 실행시켜줍니다. " " " (출처: https://www.44bits.io/ko/post/easy-deploy-with-docker)
이미지란?
- 어떤 애플리케이션을 실행하기 위한 환경 --> 파일들의 집합
- 하나의 이미지 = 저장소(repository)
- TAG는 임의로 붙여진 추가적인 이름
- docker images
- 이미지를 통해서 컨테이너를 실행
가상머신은 하드웨어를 소프트에워로 에뮬레이션.
참고 사이트:
초보자를 위한 도커 안내서: https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
초보를 위한 도커 안내서 - 도커란 무엇인가?
도커를 처음 접하는 시스템 관리자나 서버 개발자를 대상으로 도커 전반에 대해 얕고 넓은 지식을 담고 있습니다. 도커가 등장한 배경과 도커의 역사, 그리고 도커의 핵심 개념인 컨테이너와 이
subicura.com
도커는 리눅스 컨테이너이므로 실제로는 가상머신에 설치가 되었습니다. 사용자는 가상머신을 사용한다는 느낌이 전혀 안드는데 그런부분을 굉장히 신경써서 설계하였습니다.
Docker는 root권한이 필요하기에 sudo를 붙여야한다. (사용자 등록도 가능)
소켓(Socket) 포트(Port) 뜻과 차이
[출처] 소켓(Socket) 포트(Port) 뜻과 차이|작성자 오바나딩요
소켓(Socket) 포트(Port) 뜻과 차이
나도 개발자지만 소켓과 포트의 정확한 의미 차이가 헷갈릴 때가 있어서, 최근에 다시 꼼꼼하게 공부를 했...
blog.naver.com
https://www.44bits.io/ko/post/easy-deploy-with-docker
도커(Docker) 입문편: 컨테이너 기초부터 서버 배포까지
도커(Docker)는 2013년 등장한 컨테이너 기반 가상화 도구입니다. 도커를 사용하면 컨테이너를 쉽게 관리할 수 있으며, 이미지를 만들어 외부 서버에 배포하는 것도 가능합니다. 이 글은 도커를 시�
www.44bits.io
https://www.44bits.io/ko/post/why-should-i-use-docker-container
왜 굳이 도커(컨테이너)를 써야 하나요? - 컨테이너를 사용해야 하는 이유
컨테이너는 서버 애플리케이션을 배포하고 서버를 운영하는 표준적인 기술이 되어가고 있습니다. 하지만 처음 사용해본다면 그 장점이 잘 와닿지 않을 수도 있습니다. 왜 굳이 도커 컨테이너를
www.44bits.io
======================20/07/14 추가===========
https://tech.ssut.me/what-even-is-a-container/
Docker(container)의 작동 원리: namespaces and cgroups
리눅스 컨테이너(LXC) 기술이 등장한 이후로 전가상화(full virtualization) 및 반가상화(para virtualization)의 시대가 저물어버렸습니다. Docker는 LXC에서 사용하는 리눅스 커널 컨테이너 기술을 이용해 만�
tech.ssut.me
"""실제 하드웨어인 것처럼 에뮬레이션(emulation)을 하는 VM과 달리 container는 호스트 PC의 자원을 격리(isolation)된 상태로 그대로 활용하기 때문에 VM에 비해 성능 저하가 눈에 띄게 적습니다."""
실제 온라인상에 돌아다니는 많은 벤치마크 자료를 통해 이를 입증할 수 있으며 container 사용으로 인한 성능 손실은 native에 비해 1% 수준에 불과합니다. 이는 가상화(virtualization)를 하지 않는 부분에서 오는 container의 가장 큰 장점입니다.
'System > Beginner' 카테고리의 다른 글
가장 빨리 만나는 Docker 챕터 tutorial (0) | 2020.07.14 |
---|---|
리눅스 커널(운영체제) 도움 사이트 링크 (0) | 2020.07.10 |
운영체제 정리(3) (0) | 2020.07.06 |
운영체제 정리(2) (0) | 2020.07.01 |
운영체제 정리 (0) | 2020.06.30 |