2018년 10월 14일 일요일

도커(Docker) 개념

도커(Docker)란?

- OS가상화보다 가볍고 빠르다.
- 하드웨어에서 독립적인 공간을 차지하고 (docker 이미지에서 서버 운영을 위한 프로그램과 라이브러리를 격리해서 설치) OS 자원(시스템 콜)은 호스트와 공유
- 독립적인 공간은 컨테이너라고 함

-> 호스트 OS에서 필요한 부분만 부분만 다운받아 돌리기 떄문에 빠르다.
-> 컨테이너로 자신의 상황에 맞는 환경을 구현함 ( 서버, 라이브러리, 프레임워크)
-> 환경 구축을 컨테이너로해서 테스트 및 배포가 쉽다.

A라는 컴퓨터에서 환경을 구축한 후 배포하면 OS 상관없이 어느 컴퓨터든지 Docker만 있으면 똑같은 환경에서 실행 가능
(컨테이너에 침대, 스마트폰, 옷 등을 넣은 다음 배달하는 느낌. 이 컨테이너는 한국, 미국, 독일 등 어디를 가도 똑같은 환경으로 사용 가능함)


게다가 Docker hub로 버전관리까지 효율적으로 가능 (레이어 저장방식)

- 유니온 파일 시스템을 이용하여 여러개의 레이어를 하나의 파일시스템으로 사용할 수 있게 해줌

-> 만약 A라는 이미지가 a+b+c 로 구성되어있고 B라는 이미지가 a+b+d 로 구성이 되어있을 때
사용자는 a,b,c,d 를 받으면 A,B이미지 두개다 사용할 수 있다.
-> 버전을 관리할때도 a+b에서 c를 추가한 버전을 hub로 올린다면 hub에 수정된 부분(c)만 올린다.
-> 그 버전을 다운 받는 사람도 a+b가 있다면 새로운 c만 추가해서 새로운 버전을 받을 수 있다.





도커 설치 (windows 10)


윈도우는 윈도우10 pro, Enterprise 버전을 사용하는게 편하다.
(윈도우 10 home 버전은 Docker Toolbox를 사용해야 한다.)

그리고 컴퓨터 하드웨어 가상화를 지원해야 한다.
(작업 관리자 성능 탭에서 확인 가능)



http://blog.hibrainapps.net/install-docker-on-windows-10-home-or-pro





마운트 -> 리눅스에서 물리적 하드웨어 위치와 폴더의 경로를 연결시켜줌
시스템 콜 -> 프로세스가 하드웨어를 건거드림











flutter 기본 개념 1

  Scaffold  - 화면 뼈대 역할  - 기본적으로 AppBar body floatingActionButton 같은걸 배치해줌  return Scaffold (       appBar : AppBar ( title : const Text ...