묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Window에서 Volume 문제 미해결
Window에서 Volume을 적용할 때 cmd 환경에서 docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v %cd%:/usr/src/app anonymous123/nodejs 해보고 wsl에서 docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v "($pwd):/usr/src/app" anonymous123/nodejs를 시도하였는데 둘다 리액트가 작동은 하나 실시간 수정이 제대로 되지 않습니다 해결방법 알려주시면 감사하겠습니다 ㅜㅜ
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
kubedam init 명령어 부분
전에 질문드렸던 ip주소는 해결되었고, 포트문제 때문인지 밑 사진처럼 오류가 발생하는데 해결방법 있을까요?
-
해결됨NodeFull Stack 개발 가이드
실습(14) 질문있습니다!
해당 명령어를 실행하였는데docker compose -f .\scripts_docker_dev/docker-compose.dev.yml --build 아래와 같이 오류가 납니다.Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:5173 -> 0.0.0.0:0: listen tcp 0.0.0.0:5173: bind: An attempt was made to access a socket in a way forbidden by its access permissions. 5173 포트를 사용하고 있지는 않은데 뭐가 문제일까요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
useLocalStorage() 함수 사용여부
useLocalStorage()는 사용되지 않는데 수정까지 해서 남겨둔 이유가 있는 건가요?
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
Taints 와 Tolerations 관련 질문
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. (https://www.inflearn.com/questions/992407/comment/281901)6. ARM 계열의 m1 , m2 계열은 VirtualBox를 통한 구성이 원할하지 않고, 실습 환경의 다변화는 추후 대처하기 어려워서 현재 과정에서는 지원하지 않습니다. (https://www.inflearn.com/questions/915529) [질문 하기] 안녕하세요 선생님 6.7 강의 중 daemon-set 배포 시에 Tolerations가 Master Node에 설정된 것 (NoSchedule)로 배포를 했고, 워커노드에는 해당 Taints 가 설정되지 않았는데, 워커노드에도 배포되는 이유가 무엇인가요 ? NoSchedule은 노드에 Taints가 설정되지 않으면 스케쥴 되지 않는 것으로 아는데, DaemonSet이기 때문에 그런건가요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
github action workflow test timeout
안녕하세요,CI - 배포 준비를 위한 Github Workflow 생성하기강의 내용 중 위와 같이 run test 에서 오류 발생합니다. test.yml은 name: teston: pull_requestjobs:test:runs-on: ubuntu-22.04steps:- name: Checkout repositoryuses: actions/checkout@v3- name: Node.js setupuses: actions/setup-node@v3with:node-version: "18"- name: Install npm packagesrun: npm ci- name: Install and run redis-serverrun: |sudo apt-get updatesudo apt-get install -y redis-serverredis-server --daemonize yes --requirepass test_env --port 6380- name: Run testrun: npm run test:ci- name: Test buildrun: npm run build package.json은"scripts": {"build": "npx tsc","start": "node build/index.js","dev": "concurrently \"npx tsc --watch\" \"nodemon build/index.js\" ","test": "jest --watchAll --detectOpenHandles","test:ci": "jest"}, index.test.ts는import request from "supertest";import { LIST_KEY, RedisClient, createApp } from "./app";import * as redis from "redis";let app: Express.Application;let client: RedisClient;const REDIS_URL = "redis://default:test_env@localhost:6380";beforeAll(async () => {client = redis.createClient({ url: REDIS_URL });await client.connect();app = createApp(client);});beforeEach(async () => {await client.flushDb();});afterAll(async () => {await client.flushDb();await client.quit();}); 23.12.11 추가redis 설치 시 Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [142 B]Hit:2 http://azure.archive.ubuntu.com/ubuntu jammy InReleaseGet:3 http://azure.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]Get:4 http://azure.archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]Get:5 http://azure.archive.ubuntu.com/ubuntu jammy-security InRelease [110 kB]Get:6 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease [3631 B]Get:7 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1244 kB]Get:8 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main Translation-en [257 kB]Get:9 http://azure.archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [1226 kB]Get:10 http://azure.archive.ubuntu.com/ubuntu jammy-updates/restricted Translation-en [199 kB]Get:11 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1018 kB]Get:12 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe Translation-en [226 kB]Get:13 http://azure.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [27.8 kB]Hit:14 https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InReleaseGet:15 http://azure.archive.ubuntu.com/ubuntu jammy-security/main amd64 Packages [1016 kB]Get:16 http://azure.archive.ubuntu.com/ubuntu jammy-security/main Translation-en [195 kB]Get:17 http://azure.archive.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [1179 kB]Get:18 http://azure.archive.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [815 kB]Get:19 http://azure.archive.ubuntu.com/ubuntu jammy-security/universe Translation-en [152 kB]Get:20 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main arm64 Packages [28.7 kB]Get:21 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main amd64 Packages [117 kB]Fetched 8042 kB in 2s (4798 kB/s)Reading package lists...Reading package lists...Building dependency tree...Reading state information...The following additional packages will be installed: libjemalloc2 liblua5.1-0 liblzf1 lua-bitop lua-cjson redis-toolsSuggested packages: ruby-redisThe following NEW packages will be installed: libjemalloc2 liblua5.1-0 liblzf1 lua-bitop lua-cjson redis-server redis-tools0 upgraded, 7 newly installed, 0 to remove and 37 not upgraded.Need to get 1273 kB of archives.After this operation, 5725 kB of additional disk space will be used.Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [142 B]Get:2 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 libjemalloc2 amd64 5.2.1-4ubuntu1 [240 kB]Get:3 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 liblua5.1-0 amd64 5.1.5-8.1build4 [99.9 kB]Get:4 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 liblzf1 amd64 3.6-3 [7444 B]Get:5 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 lua-bitop amd64 1.0.2-5 [6680 B]Get:6 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 lua-cjson amd64 2.1.0+dfsg-2.1 [17.4 kB]Get:7 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 redis-tools amd64 5:6.0.16-1ubuntu1 [856 kB]Get:8 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 redis-server amd64 5:6.0.16-1ubuntu1 [45.9 kB]Fetched 1273 kB in 0s (2631 kB/s)Selecting previously unselected package libjemalloc2:amd64.(Reading database ...(Reading database ... 5%(Reading database ... 10%(Reading database ... 15%(Reading database ... 20%(Reading database ... 25%(Reading database ... 30%(Reading database ... 35%(Reading database ... 40%(Reading database ... 45%(Reading database ... 50%(Reading database ... 55%(Reading database ... 60%(Reading database ... 65%(Reading database ... 70%(Reading database ... 75%(Reading database ... 80%(Reading database ... 85%(Reading database ... 90%(Reading database ... 95%(Reading database ... 100%(Reading database ... 302654 files and directories currently installed.)Preparing to unpack .../0-libjemalloc2_5.2.1-4ubuntu1_amd64.deb ...Unpacking libjemalloc2:amd64 (5.2.1-4ubuntu1) ...Selecting previously unselected package liblua5.1-0:amd64.Preparing to unpack .../1-liblua5.1-0_5.1.5-8.1build4_amd64.deb ...Unpacking liblua5.1-0:amd64 (5.1.5-8.1build4) ...Selecting previously unselected package liblzf1:amd64.Preparing to unpack .../2-liblzf1_3.6-3_amd64.deb ...Unpacking liblzf1:amd64 (3.6-3) ...Selecting previously unselected package lua-bitop:amd64.Preparing to unpack .../3-lua-bitop_1.0.2-5_amd64.deb ...Unpacking lua-bitop:amd64 (1.0.2-5) ...Selecting previously unselected package lua-cjson:amd64.Preparing to unpack .../4-lua-cjson_2.1.0+dfsg-2.1_amd64.deb ...Unpacking lua-cjson:amd64 (2.1.0+dfsg-2.1) ...Selecting previously unselected package redis-tools.Preparing to unpack .../5-redis-tools_5%3a6.0.16-1ubuntu1_amd64.deb ...Unpacking redis-tools (5:6.0.16-1ubuntu1) ...Selecting previously unselected package redis-server.Preparing to unpack .../6-redis-server_5%3a6.0.16-1ubuntu1_amd64.deb ...Unpacking redis-server (5:6.0.16-1ubuntu1) ...Setting up libjemalloc2:amd64 (5.2.1-4ubuntu1) ...Setting up lua-cjson:amd64 (2.1.0+dfsg-2.1) ...Setting up liblzf1:amd64 (3.6-3) ...Setting up lua-bitop:amd64 (1.0.2-5) ...Setting up liblua5.1-0:amd64 (5.1.5-8.1build4) ...Setting up redis-tools (5:6.0.16-1ubuntu1) ...Setting up redis-server (5:6.0.16-1ubuntu1) ...Created symlink /etc/systemd/system/redis.service → /lib/systemd/system/redis-server.service.Created symlink /etc/systemd/system/multi-user.target.wants/redis-server.service → /lib/systemd/system/redis-server.service.Processing triggers for man-db (2.10.2-1) ...Processing triggers for libc-bin (2.35-0ubuntu3.4) ...NEEDRESTART-VER: 3.5NEEDRESTART-KCUR: 6.2.0-1018-azureNEEDRESTART-KEXP: 6.2.0-1018-azureNEEDRESTART-KSTA: 1Could not connect to Redis at 127.0.0.1:6380: Connection refusedError: Process completed with exit code 1.
-
미해결대세는 쿠버네티스 [초급~중급]
Recreate 배포 시 다운타임 없음
다음 스크립트를 실행시켜놓고 Recreate 배포 테스트를 진행하면 다운 타임 없이 교체가 진행되는 것 같습니다.앱이 워낙 가벼워서 1초 이내에 교체가 진행될 수 있는걸까요?while true curl ..; sleep 1;
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
소스작성중에서요 queryFactory중에?
queryFactory중에서 select(QReviewEntity.reviewEntity.score.avg())queryFactory.selectFrom(QTestEntity.testEntity)중에서 QReviewEntity, QTestEntity가 에러가 나네요. 어찌해야 할지요? db오라클로 하고 있어요.
-
미해결대세는 쿠버네티스 [초급~중급]
CrashLoopBackOff 이슈가 지속적으로 발생함. 원인 분석 결과 공유드립니다.
개요 컨테이너는 정상적으로 배포가 되는 것으로 확인되지만, 마스터 노드에서 curl 명령어를 실행해보면 최초 1회는 정상적으로 응답하고, 바로 에러가 발생하는 것으로 확인되었습니다. 로그 내용은 다음과 같습니다.node:_http_server:345 throw new ERR_HTTP_HEADERS_SENT('write'); ^ Error [ERR_HTTP_HEADERS_SENT]: Cannot write headers after they are sent to the client at ServerResponse.writeHead (node:_http_server:345:11) at Server.content (/main.js:4:7) at Server.emit (node:events:519:28) at parserOnIncoming (node:_http_server:1143:12) at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17) { code: 'ERR_HTTP_HEADERS_SENT' }컨테이너 내부 쉘에 접근하여 port8080.js 파일을 확인해본 결과 아래 소스 코드를 얻을 수 있었습니다.var http = require('http'); var content = function(req, resp) { resp.end("containerPort : 8080" + "\n"); resp.writeHead(200); } var w = http.createServer(content); w.listen(8080); 원인해당 소스코드를 로컬환경 node16 에서 실행해본 결과, 정상적으로 동작하는 것을 확인하였습니다. 실습 준비물 이미지 환경 node21 에서 실행해본 결과, 같은 에러가 발생하는 것을 확인하였습니다.Node 버젼이 업그레이드 되면서 http 모듈에 추가적인 예외처리가 반영되었다고 판단했습니다.공식 문서에 의하면 resp.end() 함수는 해당 컨텍스트의 종료를 의미한다고 합니다. 에러 로그를 살펴보면 컨텍스트의 종료 이후 헤더에 쓰기 작업을 수행하면서 발생하는 에러일 것으로 추측할 수 있었습니다. 결론 위 코드를 다음과 같이 변경한 후 Node21 환경에서도 정상적으로 동작하는 것을 확인했습니다.var http = require('http'); var content = function(req, resp) { resp.writeHead(200); resp.end("containerPort : 8080" + "\n"); } var w = http.createServer(content); w.listen(8080);
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
vagrant up network interfaces 질문
강의 내에서도 네트워크 부분 안건드리는 것 같아서 그대로 진행하였는데 저런 오류가 발생하였습니다! 어떻게 해결해야될까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
강의 소스코드 에러
지금 강의 소스 코드가 제대로 다운로드 되지 않습니다 문제 해결해주시면 감사하겠습니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
배열
배열 안에 자료형이 여러가지 된 숫자, 문자열 , 볼린 값들을 저장이 가능합니까?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
도커 -v 옵션 후 재기동 시 재활용 법
안녕하세요. 도커 -v로 mysql 실행 후 중지 후 재기동 시 처음 -v 옵션으로 만든 폴더를 재사용하고 싶은데 재기동시 -v 옵션으로 기동하면 기존에 만든 사용자 및 테이블이 삭제가 되네요.. -v로 만든 볼륨을 재사용하려면 재기동시 어떻게 하면 될까요? (기존 만든 사용자와 db 테이블을 재사용하고 싶습니다.)
-
미해결초보를 위한 도커 안내서
방명록 배포과정중 질문이 있습니다.
compose.yml 파일 작성 하여 실행시에 하기처럼 실행과정에서 db 와 disconnect 관련 문구가 출력되는게 확인되었습니다. [실행 과정 중 확인된 구문]guestbook-backend-1 | App listening on port 8000guestbook-backend-1 | Press Ctrl+C to quit.guestbook-backend-1 | Disconnected: unable to reconnect to mongodb://db:27017/guestbookguestbook-backend-1 | /backend/node_modules/mongoose/node_modules/mongodb/lib/operations/mongo_client_ops.js:474guestbook-backend-1 | throw err;guestbook-backend-1 | ^guestbook-backend-1 |guestbook-backend-1 | Error: Disconnected: unable to reconnect to mongodb://db:27017/guestbookguestbook-backend-1 | at NativeConnection.db.on (/backend/routes/messages.js:10:11)guestbook-backend-1 | at emitNone (events.js:106:13)guestbook-backend-1 | at NativeConnection.emit (events.js:208:7)guestbook-backend-1 | at NativeConnection.set (/backend/node_modules/mongoose/lib/connection.js:119:12)guestbook-backend-1 | at /backend/node_modules/mongoose/lib/connection.js:529:26guestbook-backend-1 | at err (/backend/node_modules/mongoose/node_modules/mongodb/lib/utils.js:415:14)guestbook-backend-1 | at executeCallback (/backend/node_modules/mongoose/node_modules/mongodb/lib/utils.js:404:25)guestbook-backend-1 | at err (/backend/node_modules/mongoose/node_modules/mongodb/lib/operations/mongo_client_ops.js:293:21)guestbook-backend-1 | at connectCallback (/backend/node_modules/mongoose/node_modules/mongodb/lib/operations/mongo_client_ops.js:249:5)guestbook-backend-1 | at process.nextTick (/backend/node_modules/mongoose/node_modules/mongodb/lib/operations/mongo_client_ops.js:471:7)guestbook-backend-1 | at combinedTickCallback (internal/process/nexttick.js:132:7)guestbook-backend-1 | at process._tickCallback (internal/process/next_tick.js:181:9) 제가 작성한 구문의 문제인가 싶어 수업자료로 올라와있는 구문을 사용할시에도 동일하게 에러가 확인되었습니다. (로컬 인프라 환경은 aws ec2 ubuntu 22.04 입니다.) 다만 해당 에러 확인 후에 혹시나 싶어 포트 접근 해보니 정상적으로 페이지 오픈 및 방명록 기록까지 진행되었습니다.확인 한번만 부탁드립니다.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
dockerfile 내부 폴더 copy
FROM node:20.10.0-alpine as build WORKDIR /home/app COPY package*.json . RUN npm install COPY . . RUN npm run build FROM node:20.10.0-alpine as production WORKDIR /home/app COPY --from=build ./home/app/package.json ./package.json COPY --from=build ./home/app/package-lock.json ./package-lock.json COPY --from=build ./home/app/tsconfig.json ./tsconfig.json COPY --from=build ./home/app/tsconfig.build.json ./tsconfig.build.json COPY --from=build ./home/app/nest-cli.json ./nest-cli.json COPY --from=build ./home/app/dist/ ./dist RUN npm install --only=production CMD ["npm", "run", "start:dev"]nestjs 애플리케이션을 docker를 사용하여 배포하기 위해서 Dockerfile을 작성했는데, dev stage에서 build한 build 산출물인 dist 폴더를 복사하려고 하는데, 복사가 되질 않네요,, 어떤 이유일까요? production stage를 주석처리하고, run build까지만 하고 exec 명령어로 해당 컨테이너에 들어가서 확인했을 때는 dist폴더가 존재하는 것을 확인했습니다..!
-
해결됨쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
kubelet 중단실습 중 pod 생성시 워커노드1 w1에 파드가 생성되지 않고 w2,w3에만 생성되는 문제
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. (https://www.inflearn.com/questions/992407/comment/281901)6. ARM 계열의 m1 , m2 계열은 VirtualBox를 통한 구성이 원할하지 않고, 실습 환경의 다변화는 추후 대처하기 어려워서 현재 과정에서는 지원하지 않습니다. (https://www.inflearn.com/questions/915529)[질문 하기]안녕하세요 강사님. 강의 잘 듣고있습니다. :)4.2. 쿠버네티스 워커 노드의 구성 요소에 문제가 생겼다면 강의 실습 질문입니다. kubelet 중단실습 중 w1의 kubelet을 중단하고 마스터노드 m에서 deploy pod를 배포했을때, 강의에서는 "w1에도 pod가 배포되지만 pendding 상태로, w1 kubelet을 다시 start 시킨 후 running 시킬 수 있다." 라고 하였습니다.강의를 따라가며 실습을 했지만 저의 경우,아래 사진과 같이 w1을 제외한 w2와 w3의 워커노드에만 pod가 생성되었습니다.deploy로 배포할 경우 자동으로 노드를 가능한 곳에 배포하게 되어 그런것인지 아니면 다른 문제가 있는지 궁금합니다.감사합니다~!
-
미해결대세는 쿠버네티스 [초급~중급]
쿠버네티스 대시보드 토큰
1.27 버전입니다.강의 내용대로 막힘없이 진행 후대시보드를 접근 하였는데 강의 내용과 다르게SKIP 버튼이 없고 토큰값 입력란과 OR Kubeconfig 입력해야 하는데 이 상황에선 어떻게 해야하나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
노션 링크 어디에 있나요?
아무리 찾아봐도 링크 주소를 찾지 못해서 링크 주소 올려주시면 감사드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
query 없이 mutation 만작성하면 오류가 난다?
안녕하세요~복습중 이상한 현상이 발생하여 질문드립니다~답변 주시면 감사하겠습니다~ 질문1.resolver 부분에서 boards() 부분의 주석 부분을 해제해야, 맨아래 3번 오류가 발생하지 않고, 정상 작동 합니다.Query 없이 Mutation 만작성하면 오류가 발생하는걸까요? 아래 코드와 같이 query 부분을 주석 처리 하면 왜 오류가 나는 걸까요? 질문2.에러가 내가 작성한 파일의 어떤부분이 잘못됐다고,알려주는건 없는 걸까요?아래 에러 코드를 보면 내가 작성한 코드가 아닌작성하지도 않은 설치 파일같은데서 error 정보가 나오는데, 저기를 열어봐야 할까요? GraphQLError: Query root type must be provided. at SchemaValidationContext.reportError (C:\study\00-codecamp-backend\연습장\memo01\node_modules\graphql\type\validate.js:73:7) 1.resolverimport { Args, Mutation, Resolver } from '@nestjs/graphql'; import { BoardsService } from './boards.service'; import { CreateBoardInput } from './dto/create-board.input'; import { Board } from './entities/board.entity'; @Resolver() export class BoardsResolver { constructor(private readonly boardsService: BoardsService) {} // @Query(() => String) // boards(): string { // return this.boardsService.boards(); // } @Mutation(() => Board) createBoard( @Args('createBoardInput') createBoardInput: CreateBoardInput, // ): Promise<Board> { return this.boardsService.create({ createBoardInput }); } } 2.serviceimport { Injectable } from '@nestjs/common'; import { Repository } from 'typeorm'; import { InjectRepository } from '@nestjs/typeorm'; import { IBoardsServiceCreate } from './interfaces/boards-service.interface'; import { Board } from './entities/board.entity'; @Injectable() export class BoardsService { constructor( @InjectRepository(Board) private readonly boardsRepository: Repository<Board>, // ) {} // boards() { // return 'boards'; // } create({ createBoardInput }: IBoardsServiceCreate): Promise<Board> { return this.boardsRepository.save({ ...createBoardInput }); } } 3.error[ GraphQLError: Query root type must be provided. at SchemaValidationContext.reportError (C:\study\00-codecamp-backend\연습장\memo01\node_modules\graphql\type\validate.js:73:7) at validateRootTypes (C:\study\00-codecamp-backend\연습장\memo01\node_modules\graphql\type\validate.js:89:13) at validateSchema (C:\study\00-codecamp-backend\연습장\memo01\node_modules\graphql\type\validate.js:41:3) at graphqlImpl (C:\study\00-codecamp-backend\연습장\memo01\node_modules\graphql\graphql.js:60:63) at C:\study\00-codecamp-backend\연습장\memo01\node_modules\graphql\graphql.js:23:43 at new Promise (<anonymous>) at graphql (C:\study\00-codecamp-backend\연습장\memo01\node_modules\graphql\graphql.js:23:10) at GraphQLSchemaFactory.create (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\graphql\dist\schema-builder\graphql-schema.factory.js:50:65) at GraphQLSchemaBuilder.generateSchema (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\graphql\dist\graphql-schema.builder.js:35:52) at GraphQLSchemaBuilder.build (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\graphql\dist\graphql-schema.builder.js:22:31) { path: undefined, locations: undefined, extensions: [Object: null prototype] {} } ] C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\graphql\dist\schema-builder\graphql-schema.factory.js:56 throw new schema_generation_error_1.SchemaGenerationError(errors); ^ Error: Schema generation error (code-first approach) at GraphQLSchemaFactory.create (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\graphql\dist\schema-builder\graphql-schema.factory.js:56:23) at processTicksAndRejections (node:internal/process/task_queues:96:5) at GraphQLSchemaBuilder.generateSchema (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\graphql\dist\graphql-schema.builder.js:35:24) at GraphQLSchemaBuilder.build (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\graphql\dist\graphql-schema.builder.js:22:20) at GraphQLFactory.generateSchema (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\graphql\dist\graphql.factory.js:27:41) at GraphQLModule.onModuleInit (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\graphql\dist\graphql.module.js:109:27) at callModuleInitHook (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\core\hooks\on-module-init.hook.js:51:9) at NestApplication.callInitHook (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\core\nest-application-context.js:223:13) at NestApplication.init (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\core\nest-application.js:100:9) at NestApplication.listen (C:\study\00-codecamp-backend\연습장\memo01\node_modules\@nestjs\core\nest-application.js:169:33)
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
윈도우 OS 서버 컴퓨터에 도커를 통한 배포 작업을 해야 하는 경우
안녕하세요. 문의 드립니다. 윈도우 서버 컴퓨터에 도커를 통해 웹 배포 작업을 진행해야하는 상황입니다. 윈도우에서 도커 설치가 어렵다고 말씀해주셔서, 이런경 우에는 그럼 윈도우에 우분투를 설치하여 리눅스를 통해 도커를 설치하고 배포 하는 것이 더 좋은 방법인가요?