DevOps/Docker (35) 썸네일형 리스트형 [Docker 실습] Docker Compose로 Redis 실행시키기 Docker Compose로 Redis 실행시키기* docker run -d -p 6379:6379 redis 도커 컴포즈를 사용하지 않았을 때 명령어 1. compose.yml 작성services: my-cache-server: image: redis ports: - 6379:6379 2. 터미널에서 실행docker compose up -d 3. 확인docker compose psdocker compose logs 4. 컨테이너에 접속해보자. docker exec -it 85c bash레디스 명령어를 입력해보면 정상적으로 동작하는 것을 확인할 수 있다. 5. 컴포즈로 실행시킨 컨테이너 삭제docker compose down * Inflearn(인프런) ‘비전공자도 이해할 .. [Docker 기본] 자주 사용하는 Docker Compose CLI 명령어 자주 사용하는 Docker Compose CLI 명령어docker compose up compose.yml 에서 정의한 파일을 기반으로 컨테이너를 포그라운드에서 실행 docker compose up -d compose.yml 에서 정의한 파일을 기반으로 컨테이너를 백그라운드에서 실행 docker compose ps compose.yml에서 정의한 컨테이너 중 실행중인 컨테이너 조회 docker compose ps -a compose.yml에서 정의한 컨테이너 모두 조회 docker compose logs compose에서 정의된 컨테이너에서 발생한 로그 조회 docker compose up --build이미지를 다시 빌드해서 컨테이너를 실행 docker compose pull도커허브에 올라간 컴포즈에 정.. [Docker 실습] Docker Compose를 이용해 Nginx 설치 및 실행시키기 Nginx 실행1. 폴더를 만들고 파일 생성한다. 이 때 파일명은 compose.yml로 한다. yml 파일은 들여쓰기로 계층을 판단하므로 주의하자. services: my-web-server: container_name: web-server image: nginx ports: - 80:80 1) services: 여러 개의 서비스를 적기 전에 처음에 적는 명령어 2) my-web-server: 서비스의 이름. 원하는대로 지으면 된다. 3) container_name : '컨테이너 이름' 4) image: 어떤 이미지를 기반으로 컨테이너를 띄울건 지 5) ports 포트매핑 docker run -name web-server -d -p 8.. [Docker 기본] Docker Compose를 활용해 컨테이너 관리하기 Docker Compose를 사용하는 이유Docker Compose란?여러 개의 Docker 컨테이너들을 하나의 서비스로 정의하고 구성해서 하나의 묶음으로 관리할 수 있게 도와주는 툴지금까지는 컨테이너를 하나씩 띄우는 연습을 했다. 실제 사용할 때는 여러 개의 컨테이너를 띄우는 경우가 많다. Docker Compose를 사용하는 이유1. 여러 개의 컨테이너를 관리하는 데 용이 여러 컨테이너를 하나의 환경에서 실행하고 관리하는 데 도움이 된다. 2. 복잡한 명령어로 실행시키던 것을 간소화 시킬 수 있음 * Inflearn(인프런) ‘비전공자도 이해할 수 있는 Docker 입문/실전’ 강의 참고 [Docker 실습] 웹 프론트엔드 프로젝트(HTML, CSS, Nginx)를 Docker로 배포하기 웹 프론트엔드 프로젝트(HTML, CSS, Nginx)를 Docker로 배포하기1. 폴더 생성 후 vscode에서 오픈mkdir webpage 2. css, html 파일 생성파일은 간단하게 만들자. index.html My Web Page style.css* { color: blue;} 3. Dockerfile 생성 html, css 파일을 배포하고 운영하게끔 해주는 서버의 역할을 하는 프로그램은 nginx를 사용해보자.FROM nginxCOPY ./ /usr/share/nginx/html=> 컨테이너 디렉터리 경로는 도커허브 nginx에서 확인한 것 4. 빌드docker build -t my-web-server . 5. 실행 docker run -d -p 80:80 nginxnginx는 8.. [Docker 실습] 웹 프론트엔드 프로젝트(Next.js)를 Docker로 배포하기 Next.js 프로젝트 Docker로 배포하기1. next 프로젝트 생성npx create-next-app@latest 확인 2. 편집기로 열어서 실행해보기npm run dev 3. next.js의 포트번호는 3000 이다. 브라우저를 열어서 확인해보자. 4. Dockerfile 생성 base 이미지는 node로 한다. 이미지들 중 alpine이라는 태그명이 많다. 실제 이미지를 최적화 해서 이미지 용량을 줄인 것이다. node 20버전의 alpine 이미지를 사용해보자. FROM node:alpineWORKDIR /appCOPY . .RUN npm installRUN npm run buildEXPOSE 3000ENTRYPOINT [ "npm", "run", "start" ] 5. dockeri.. [Docker 실습] 백엔드 프로젝트(Nest.js)를 Docker로 실행시키기 Nest.js 프로젝트 Docker로 실행시키기1. Nest.js 설치npm i -g @nestjs/cli*node 먼저 실행해야 한다. 2. Nest 프로젝트 생성nest new my-server=> npm 선택하면 된다. 3. 생성한 my-server로 들어가보자. 4. 편집기에서 오픈 5. 프로젝트안에 Dockerfile 생성 6. Dockerfile 작성해보자. FROM nodeWORKDIR /appCOPY . .RUN npm install RUN npm run buildEXPOSE 3000ENTRYPOINT [ "node", "dist/main.js" ]=> 1) app 디렉터리에 생성 2) 전체파일 복사 3) 컨테이너에 npm 설치 및 빌드 4) 포트 문서화 .. [Docker 기본] EXPOSE: 컨테이너 내부에서 사용 중인 포트를 문서화하기 EXPOSE: 컨테이너 내부에서 사용 중인 포트를 문서화하기EXPOSE는 컨테이너 내부에서 사용중인 포트를 문서화 하는 역할을 한다. 이전 포스팅에서 포트매핑을 했었다. 해당 이미지가 포트에서 실행 중인지 아닌 지 사용자들은 모를 수 있기 때문에 이를 명시해주는 역할을 한다. 문서화하는 역할만 할 뿐 실제 작동방식과는 상관 없다. 사용법EXPOSE [포트 번호] * Inflearn(인프런) ‘비전공자도 이해할 수 있는 Docker 입문/실전’ 강의 참고 이전 1 2 3 4 5 다음 목록 더보기