[데이터 엔지니어링] Docker

2022. 4. 12. 17:20AI/Codestates

728x90
반응형

Docker 란?

- 애플리케이션 실행 환경을 코드로 작성할 수 있고 OS를 격리화하여 관리하는 기술

▶ CASE 1 환경 표준화 - 환경이 일정하지 않아서 생기는 문제

- 최근 대표적인 운영체제는 Linux, Windows, Mac OS로 나뉘고, 엔지니어들은 자신이 개발하는 애플리케이션이 어떤 환경에서 구동될지 생각한후 개발해야됨. 상황에 따라 운영체제마다 개발하는 애플리케이션의 코드를  조금씩 변경해 줘야 할 수 있음

▶ CASE 2 수작업으로 일치시키는 환경 구성

- 모든 개발자와 사용자들이 동일한 OS 환경을 유지하는 경우 어느 정도는 빨라질 수 있음

- 홈 디렉토리가 다른 것 이외에도 애플리케이션을 설치할 때 컴퓨터에 맞게 변경해 줘야 하는 부분들이 있음

▶ CASE 3 리소스 격리성

- IP 주소는 인터넷상에 있는 컴퓨터의 고유한 주소로, 인터넷상의 한 컴퓨터에서 다른 컴퓨터로 데이터를 주고받을 수 있게 해줌.

- 포트번호는 IP 주소와 함계 쓰여 해당하는 프로토콜에 의해 사용됨

- 서버가 하나 밖에 없어서 IP 주소를 구분하기 위해 브릿지 설정을 변경해야 하고, 방화벽 규칙 a와 b가 서로 충돌이 일어나는 현상이 이러나게 되는데 이를 해결하고자 하나의 컴퓨터에서 여러 개의 컴퓨터를 이용하는 것처럼 사용

Linux Container 란?

- 리눅스 기반의 기술 중에 하나로 필요한 라이브러리와 어플리케이션을 모아서 마치 별도의 서버처럼 구성한 것을 말함

- 컨테이너를 이루는 네트워크 설정, 환경 변수 등의 시스템 자원은 각 컨테이너가 독립적으로 소유하고 있음

- 프로세스의 구획화

  • 특정 컨테이너에서 작동하는 프로세스는 기본적으로 그 컨테이너 안에서만 액세스 할 수 있음
  • 컨테이너 안에서 실행되는 프로세스는 다른 컨테이너의 프로세스에게 영향을 줄 수 없음

- 네트워크의 구획화

  • 기본으로 컨테이너 하나에 IP 주소가 할당되어 있음

- 파일시스템의 구획화

  • 컨테이너 안에서 사용되는 파일 시스템은 구획화되어 있음.
  • 해당 컨테이너에서의 명령이나 파일 등의 액세스를 제한할 수 있음

Docker CLI ( Command Line Interface ) 란?

- 공식문서

 

docker container run

docker container run: Run a command in a new container

docs.docker.com

728x90
반응형

'AI > Codestates' 카테고리의 다른 글

[데이터 엔지니어링] 배포와 대시보드  (0) 2022.04.15
[데이터 엔지니어링] Flask  (0) 2022.04.12
[Day 54] Sprint Review  (0) 2022.04.10
[데이터 엔지니어링] NoSQL  (0) 2022.04.07
[데이터 엔지니어링] API  (0) 2022.04.07