- toc {:toc}
웹어셈블리 시스템인터페이스 wasm
-
Docker Services
-
서비스는 생산적 측면에서의 컨테이너를 말한다.
-
하지만 이미지가 동작하는 방식을 코드화한다.
- 사용할 포트가 무엇인지
- 얼마나 많은 컨테이너를 만들어 사용할 것인지
-
Docker Compose
-
2개 이상의 컨테이너(서비스)를 하나의 어플리케이션처럼 구동하도록 한다.
-
이미지를 실행하기 위해, 통신을 위해 연결하기 위해 포트, ip 주소가 필요하다.
-
비디오 공유 사이트를 구축한다고 가정
- 어플리케이션 데이터를 저장하기 위한 데이터베이스 서비스
- 비디오 압축, 변환을 위한 서비스
- 프론트 엔드 서비스 등등
-
yaml 파일을 사용한다.
-
docker-compose 명령
- docker-compose up : 멀티 컨테이너 서비스를 시작
- docker-compose down : 모든 서비스 중지
- docker-compose scale : 특정 컨테이너가 성능이 부족하다 생각되면 scale을 통해 선택된 서비스에 더 많은 자원을 할당한다.
-
docker compose file 만들기
- 작업 폴더 만들기
- 작업 폴더로 경로 이동
- docker-compose.yml 파일 생성
- 파일을 채울 때 탭을 사용하지 않는다.
- 두 개 이상의 이미지를 띄울 수 있다.
-
3가지 모두 넣을 수 있다.
- CPU
- Disk Storage
- Network
-
YAML 파일
- Indentation-based로 구성
- 일반적인 모든 태스크에 잘 작동한다.
- 데이터 나열화 언어
-
YAML 사용 케이스
- configuration files
- Log file
- cross-language data sharing
- 복잡한 자료구조 디버깅
-
DNS 서버
-
컨테이너 서비스 안에 DNS(Domain Name Service) 서버를 만들어준다.
- docker-compose를 통해 같이 실행되고 있는 컨테이너의 이름을 설정한다.
- 이름만으로 접속이 가능하다.
-
컨테이너 서비스에 대해 이름을 지정할 수 있다.
-
worker1 / 2 로 지정한 경우 curl http://worker1:80 과 같이 이름을 통해 접속할 수 있다.
-
curl : Client URL
-
다양한 프로토콜을 사용하는 데이터를 전송하기 위한 라이브러리, 커멘드 라인 도구를 제공하는 소프트웨어 프로젝트이다.
-
서버 클라이언트를 띄웠을 경우 서버에 데이터를 요청하고 받아오는 http 프로토콜을 사용할 수 있다.
-
PAT (Port Address Transport)
-
Private 포트와 Public 포트를 연결해 통신이 가능하도록 만든다.
-
컨테이너는 호스트와 떨어져 독립적이기 때문에 내부에서 80번 포트를 연결하더라도 호스트 입장에서는 인식할 수 없다. 때문에 외부와의 통신을 위해 private 네트워크와 public 네트워크를 포트를 지정해 연결한다.