본문 바로가기

DevOps/Docker9

컨테이너 교차 통신, Docker로 다중 어플리케이션 구성하기 3. 네트워킹 : 컨테이너 교차 통신 네트워크를 사용하여 다수의 컨테이너를 연결하는 방법 컨테이너가 서로 통신하게 하는 방법 컨테이너에서 실행 중인 어플리케이션을 로컬 호스트 머신에 연결하는 방법을 알아보자 case1 : WWW 통신 컨테이너 World wide web 과 통신 하기 위한 방법 API 연결을 하는 방법엔 GET HTTP 요청이 있는데 여기선 컨테이너에서 실행되는 어플리케이션에서 WWW로 보내자 HTTP 요청을 다른 웹 사이트나 웹 API로 전송하는 방법을 알아보자. -> 특별한 코드 없이 연결 가능함. case2: 컨테이너에서 로컬 호스트 머신으로의 통신 호스트 머신에서 실행되는 DB 같은것과 통신하는 방법 ->'mongodb://localhost:27017/swfavorites', 이런.. 2024. 2. 6.
Docker 이미지와 컨테이너 내부의 데이터 관리 방법 2. 이미지와 컨테이너 내부의 데이터 관리 방법 , 다른 폴더 등에 연결하는 방식, 도커에 내장된 볼륨이라는 개념 다양한 데이터 종류 이해하기 우리가 작성한 코드 + package.json에 지정된 패키지 환경이 빌드 단계에서 이미지에 추가된다. -> Dockerfile을 사용 이미지에 복사된 코드는 고정되고 이미지가 빌드되면 변경될 수 없다. -> 이미지는 읽기 전용이다! 1. 임시 Application data 우리가 작성한 소스 코드가 아닌 Application이 실행되는 동안 생성된 데이터 ex) 입력 폼 데이터 같이 사용자가 직접 전달한 데이터를 가져와 서버에서 실행중인 컨테이너로 처리함 컨테이너가 종료될때 일시적인 데이터이기 때문에 잃어도 상관없다. "일시적"으로 쓰고 싶은 데이터여서 이미지가.. 2024. 2. 6.
Docker 이미지 & 컨테이너 Dockerfile 작성 요령 FROM 이미지 구축에 필요한 이미지 이름을 넣는다. ex) FROM node -> 도커한테 노드 이미지를 가지고 오는걸 시작우선하고 다음 실행을하자. WORKDIR 도커 컨테이너의 작업 디렉토리를 설정하는 명령 ex) WORKDIR /app 설정하면 이후 모든 후속 명령이 /app 폴더 내부에서 실행 될 거라고 알려줌 COPY . . 도커한테 로컬머신에 있는 파일이 이미지에 들어가야하는지 알려야한다. . . 은 두 개의 경로를 지정하는데 첫 번째 자리는 컨테이너 외부, 이미지의 외부 경로이며 이미지로 복사되어야 하는 파일들이 있는 경로이다. -> . 을 넣었으니 이 프로젝트의 모든 폴더, 하위 폴더 및 파일을 복사하라고 도커한테 알려준 것 두 번째 자리는 그 파일을 저장해.. 2024. 2. 6.
컨테이너 만들어 보기 여기 NodeJS로 간단히 코드를 작성 해보았다. 원래 이 코드를 실행하기 위해선 NodeJS를 다운받고 실행해야한다. 하지만 도커를 사용하여 이 코드를 컨테이너에서 실행해보려한다. 컨테이너를 항상 이미지를 기반으로 하기에 먼저 이미지를 생성해야한다. 우리는 이미지를 생성하기위해 Dockerfile이라는 확장자 없는 도커파일을 생성했다. 아직은 자세히 하나 하나 모르겠지만 종합하면, 이 Dockerfile은 Node.js 애플리케이션을 실행하기 위한 환경을 구성하고 필요한 종속성을 설치한 뒤, 해당 애플리케이션을 실행하는 데 필요한 설정을 제공한다. 이제 통합 터미널을 열어 Docker build . 이라는 커맨드를 입력해서 Dockerfile 이미지를 빌드한다. 주의사항 1. Docker Desktop.. 2024. 1. 14.