반응형 IT 톺아보기/CICD8 compose.yaml 파일을 이용하여 간단한 페이지 만들어보기 | back-end 사실, Back-end라고 해서 Front-end와 큰 차이가 있는 것은 아니다. 대부분 동일한 구성형태로 작성을 하듯이, image, working_dir, volume, ports 등을 작성해준다. 차이가 있다면, Front-end에서는 node Image를 사용했다면 Back-end에서는 nginx Image를 사용한다. 그리고 ports는 8080으로 사용을 하는데 이렇게 사용하는데 있어서는 큰 의미가 있지는 않다. 이전부터 개발자분들이 8080을 port로 사용하게 되면서 일반적으로 사용하게 되었다고 알고 있다. volume은 ./backend 경로에 개발된 내용을 컨테이너에 전달하도록 했는데, 만약 compose.yaml을 실행한 상황에서 해당 폴더에 backend 파일이 없으면 자동으로 생성.. 2024. 1. 7. compose.yaml 파일을 이용하여 간단한 페이지 만들어보기 | front-end 간단한 페이지를 구성하기 위해서 back-end, front-end, nginx, db를 compose.yaml을 통해 구성해보았다.그 중에서 가장 먼저 front-end 부분을 작성해보았다. services를 가장 먼저 작성하고 그 아래에 각각 작성한다. front-end를 먼저 작성을 하면, app-front라는 이름으로 Front-end를 구성했는데, node image를 사용하여 front-end를 구성 npm이나 yarn 같은 명령어들은 app 폴더에서 동작을 하기 때문에, working_dir을 /app으로 설정해준다. 여기서 나는 /usr/src/app으로 설정했다. ports의 경우에는 3000:3000 과 35729:35729로 잡았는데 자세히는 모르지만 일반적으로 Node.js 개발 환.. 2023. 12. 30. Docker Compose의 주요 명령어와 그 사용법 Docker compose 에 대한 명령어를 사용하다 보면 커멘드를 잘 모르는 경우가 있어 정리해보려고 한다. 목차 링크 왜 안됨? build config cp create down events exec images kill logs ls pause port ps pull push restart rm run scale start stop top unpause up version wait watch Docker Compose는 여러 컨테이너를 정의하고 실행하는 도구이다. 이 도구는 YAML 파일을 사용하여 서비스, 네트워크, 볼륨 등을 설정하고 관리한다. 1.build 기능: 서비스를 빌드하거나 재빌드합니다. 사용 예시: docker-compose build는 docker-compose.yml 파일에 정의.. 2023. 12. 28. docker compose Docker Compose란? * 다중 컨테이너 도커 어플리케이션을 정의 하고 실행하기 위한 도구 Redis?? * Remote Dictionary Server의 약자로 메모리 기반의 키-값 구조 데이터 관리 시스템 이다. 비관계형 데이터베이스(NoSql)로 모든 데이터를 메모리에 저장하고 빠르게 조회가 가능 * 메모리에 저장하기 때문에 mysql 같은 것보다 빠르게 불러올 수 있고 영속적인 저장으로 서버를 재부팅 해도 데이터가 남아있다. docker run redis 를 통해 redis를 먼저 구동한다. 이후, 다른 터미널을 통해 docker를 실행하면 이러한 에러를 만나볼 수 있다. 이는 Redis 서버에 연결이 실패 됐다는 의미인데, 이는 서로 다른 컨테이너에서 실행을 시켜서 접근이 가능 하지 않다.. 2022. 6. 4. m1에서 docker mysql 설치하기 기존 터미널에서 mysql을 docker에 실행할 때에는 ‘’’ docker run —name -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true ‘’’ 을 사용 했었는데, 해당 방식으로 m1에서 실행하게 되면 에러가 발생한다. ‘’’ Unable to find image ‘mysql:latest’ locally latest: Pulling from library/mysql docker: no matching manifest for linux/arm64/v8 in the manifest list entries. See ‘docker run —help’. ‘’’ 위의 에러처럼 docker의 mysql은 linux/arm64/v8을 지원하지 않기 때문에 따로 platf.. 2022. 6. 4. 터미널에서 사용 중인 포트 확인 및 종료 방법 docker를 공부하면서 port를 자주 잡는 일이 생기는데 그럴때마다 이를 확인하고 끄는 작업을 자주하게 된다. 그럴때마다 사용법이 생각이 나지 않아 검색하는 경우가 많은데 이참에 블로그에 써놓고 확인하는 법이 좋을 것 같아 글을 작성한다. 터미널에서 특정 포트가 사용되는지 확인하는 명령어는 ₩₩₩ sudo lsof -P -I :[Port] ₩₩₩ 이고 특정 포트를 죽이는 명령어의 경우는 sudo kill -9 [Port]이다. 2022. 5. 30. Mac OS Monterey 이상 포트가 자동으로 잡히는 문제 발생 Volume 도커 컨테이너로 복사를 하는 것이 아니라 참조(mapping)을 하는 방식으로 이용하면 변경이 빠르게 적용이 될 수 있음 Pwd => print working dir 이고 현재 작업 중인 디렉토리를 출력 docker run -d -p 5000:8080 -v usr/src/app/node_modules -v $(pwd):/usr/src/app 로 실행한 결과 docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:5000 -> 0.0.0.0:0: listen tcp 0.0.0.0:5000: bind: address already in use. 처럼 5000포트가 사용 중이라고 뜬다.. 이걸 해결.. 2022. 5. 29. Docker? 컨테이너를 통해 응용 프로그램을 쉽게 배포 및 실행할 수 있도록 하는 도구이며 컨테이너 기반 오픈소스 가상화 플랫폼이다. 컨테이너? -> 일상에서 컨테이너에 다양한 제품군을 넣고 운반을 쉽게 할 수 있다. -> 이처럼 서버에서의 컨테이너는 응용프로그램을 넣고 손쉽게 설치, 실행할 수 있게 하는 것 (플랫폼에 구애받지 않고 사용할 수 있다!!) 도커 이미지와 컨테이너 정의 -> 코드와 모든 종속성을 패키지화하여 다른 환경에서 빠르고 안정적으로 실행될 수 있도록 해주는 소프트웨어 표준 -> 컨테이너 이미지? 응용 프로그램을 실행하는 데 필요한 모든 것을 포함, 설정값 종속성들을 포함하고 있다고 생각하면 됨 -> 이미지 안에 여러 컨테이너가 쌓여 있는 구조라고 생각하면 됩니다. 도커 흐름 -> 도커 CLI에 .. 2022. 5. 29. 이전 1 다음 반응형