본문 바로가기

DevOps/Docker

(3)
멀티 스테이지 빌드(프론트 + nginx) 프론트 niginx 로 멀티 스테이지 구성 프론트 빌드후 해당 빌드 파일 nginx에 복사후 웹서버 구동 FROM node:14-alpine as build WORKDIR /app COPY package.json . RUN npm install COPY . . RUN npm run build FROM nginx:stable-alpine COPY --from=build /app/build /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] 멀티 스테이지 빌드 특정 Target build docker build --target build -f frontend/Dockerfile.prod ./frontend alias한 build만 빌드하고 ..
Docker Volumes 개요 도커가 인식하는 호스트 머신의 폴더 컨테이너나 이미지에 있는것이 아니다. 즉 호스트 컴퓨터에 장착된 하드 드라이브에 존재하여 사용 가능 하거나 컨테이너로 매핑되는 것을 의미한다. 볼륨은 컨테이너가 종료된 경우에도 지속되며 계속 존재한다.(단 익명 볼륨 제외) 컨테이너가 제거되어도 해당 볼륨은 유지된다.(단 익명 볼륨 제외) Volumes는 크게 두가지 타입이 있다. Volumes , Bind Mounts 이다. Volumes는 다시 크게 두가지로 나눈다. Anonymous Volumes , Named Volumes 1. 익명 볼륨(Anonymous Volumes) - Volume Docker Host내 임의의 고유한 이름으로 볼륨을 부여 한다. 익명 볼륨은 컨테이너가 존재하는 동안 에만 실제로 존재..
Docker container간 통신 방법 1. docker inspect 명령어를 컨테이너의 세부 정보중 network의 ip를 알아내서 직접 ip 지정 단 ip는 수시로 변경될수 있음으로 비추천 docker container inspect 2. container 소스상 에서 host의 local host 접근 방법 - host.docker.internal ex) mongodb://host.docker.internal:2071/ddoridb 3. docker run 명령 option으로 동일 네트워크 지정 docker run 실행시 --network 로 네트워크 지정 docker run --name mongodb --network ddori-net mongodb docker run --name ddori-app --netwrok ddori-ne..