안녕하세요! 강의 수강하고 있는 학생입니다! 강의 수강하면서 차례대로 따라해보고 있는 와중에, Dockerfile 이미지 빌드가 작동하지 않아 질문 올립니다. (구글링해도.. 해결이... 잘..) 우선, 수업과 동일하게 수업자료에 올라와있는 파일을 폴더에 1개의 폴더에 넣고, Dockerfile을 build 하였습니다. 저의 실습환경: MacOS M1, Docker 데스크탑 설치 후, 실습 진행 중(해당 강의 이전 내용들은 문제없이 따라갈 수 있었습니다.) 문제는 RUN yum install -y perl.x86_64 ...... openssl.x86_64 에 해당하는 라인이 실행이 안되는 문제를 겪고 있습니다. (즉, No package available) 제가 시도해본 방법은 다음과 같습니다. (아래의 시도들은 전부 실패하였습니다.) RUN yum install -y epel-release 하고, 해당 문제라인 코드 실행 RUN yum install perl하고, 해당 문제라인 코드 실행 yum clean all & yum clean metadata 하고, 해당 문제라인 코드 실행 원본 Dockerfile 에서 FROM centos:8 로 수정하여 실행 RUN rpm install -y perl.x86_64 ...... openssl.x86_64 실행 (rpm 명령어로 실행) 혹시 방법이 있으시면 알려주시면 수업 내용을 따라하는데 도움이 될 것 같습니다. ㅠㅠ ...
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 수업 잘 듣고 있습니다 덕분에 도움이 많이 되었습니다 다만 github에 있는 쿠버네티스 설치 가이드를 보고 따라 설치하던중(master, node 2개 vm 모두 centos7 로 진행) 아래 부분에서 오류가 나서 질문드립니다 7번 칸에서 kubeadm init 명령어도 오류가나서 안내대로 따라해보았으나 여전히 같습니다 그리고 kubelet start 를 해도 서비스 실행이 되지 않는것 같습니다 다른 방법이 있다면 알려주시면 감사하겠습니다 감사합니다.
windows에서 vscode에서 typescript를 사용하시다 보면 아래와 같이 delete 'cr'이라고 계속 빨간 글씨가 떠서 눈에 거슬리는 경우가 있습니다. 해결책 : eslintrc.js파일에 가셔서 아래와 같이 rules에 추가한 후 저장해 주시면 됩니다. 긁어서 eslintrc.js파일의 하단의 rules에 추가해 주세요 'prettier/prettier': [ 'error', { endOfLine: 'auto', }, ],
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
먼저 정말 상세한 강의 너무 잘 듣고 있습니다!! 감사합니다~ 그런데 따라 하다가 처음으로 영상대로 되지 않는 부분이 생겼습니다. 강의 영상 : docker 주요 명령 익히기 5 (10:50) 제공된 html 파일이 들어있는 폴더를 EC2에 업로드 하고 docker run -d -p 9999:80 -v /home/ubuntu/2021_DEV_HTML:/usr/local/apache2/htdocs --name apacheweb2 httpd 이렇게 동일하게 입력했습니다. 그리고 그냥 IP주소:9999 로 입력하면 그대로 "It works!" 가 나옵니다... 혹시나 싶어 IP주소:9999/index.html 로 접속해봤더니 정상적으로 업로드한 파일이 보입니다. 이건 왜 그런걸까요 ;ㅅ ;?
여러 방면으로 시도 중인데, error_code : "NOT_READY" error_msg : "등록된 사용자가 아니거나, 아임포트 관리자 페이지에 설정된 PG정보가 없습니다." 해당 에러가 뜨면서 계속 실패하네요;; 혹시 하신 분들은 어떻게 성공하셨는지 궁금합니다. 일단 제가 예상한 것으로는 강의 화면이랑 제 구 관리자콘솔의 시스템 관리 탭이 다른 점에 눈이 가는데, 이걸 어떻게 처리해야되는지 어디를 찾아봐도 안나오네요... 강의에서는 여러 탭이 있는데 저는 두 개의 탭 밖에 보이지 않습니다. 해결 방법을 찾고 싶어도 어디서 찾아야 되는 지 감이 안잡히네요
강의대로 docker compose up 명령어를 실행했을때 하단에 'docker compose up 에러 메시지' 가 출력됩니다. localhost:8000 으로 접속이 안되고 있으며, Dockerfile-dev 에서 버전을 3.7로 지정을 했는데도 에러메시지에는 python3.11가 찍히는지 잘 모르겠습니다. 답변 해주시면 감사드리겠습니다. 개발환경: M1 macbook pro (os버전 :13.1 (22C65)) [docker-compose] https://gist.github.com/Gunwoong-Heo/c50843c7470528e415dc3bacf10cf181 [Dockerfile-dev] https://gist.github.com/Gunwoong-Heo/ea64ad78a24f3ed87414c472ad5640a9 [docker compose up 에러 메시지] https://gist.github.com/Gunwoong-Heo/29f5ae8026391482b69dc5fcfbdc5112
안녕하세요. 제가 찾고 기다리던 내용의 강의라 매우 만족하며 수강하고 있는 수강생입니다! ㅎ products.service.ts 파일에서 create와 update 메서드 작성할 때 typescript 에러에 대해 질문드립니다. products.service.ts 파일 create 메서드에서 productTags를 등록하는 과정에 const result2 = [] 부분을 const result2: string[]로 작성하면 await productRepository.save (...) 에서 No overload matches this call이 뜨고 update 메서드에서 updateProductInput에 UpdateProductInput로 타입을 지정하면 위와 마찬가지로 await productRepository.save (newProduct)에서 No overload matches this call이 뜹니다. 두 경우 모두 Type 'string' is not assignable to type 'ProductTag' 문제로 product.entity.ts에서는 productTag를 아래와 같이 등록하고 @Field(() => [ProductTag]) @JoinTable() @ManyToMany(() => ProductTag, (productTags) => productTags.products) productTags: ProductTag[]; createProduct.input.ts에서는 CreateProductInput에서 productTag를 아래와 같이 등록해서 발생하는 문제라고 추측했습니다. @Field(() => [String]) productTags: string[]; 두 경우 모두 타입을 지정하지 않고 any로 두면 문제는 사라지긴 합니다. any로 두고 사용할 수밖에 없는 것인지 아니면 타입 지정을 해서 사용하는 방법이 있는지 궁금합니다.
yarn start:dev 실행 하고 나면 아래와 같이 나오면서 에러가 뜨고 있어요 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... 아래 코드도 정상적으로 기입 했는데, 계속 접속 오류로 연결이 되지가 않습니다. import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo' import { Module } from '@nestjs/common' import { GraphQLModule } from '@nestjs/graphql' import { TypeOrmModule } from '@nestjs/typeorm' import { BoardsModule } from './apis/boards/boards.module' import { Board } from './apis/boards/entities/board.entity' @Module({ imports: [ BoardsModule, GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, autoSchemaFile: 'src/commons/graphql/schema.gql', }), TypeOrmModule.forRoot({ type: 'mysql', host: 'localhost', port: 3306, username: 'root', password: 'test1234', database: 'myproject03', entities: [Board], synchronize: true, logging: true, }), ], // controllers: [AppController], // providers: [AppService], }) export class AppModule {} 현재 brew 확인시 Mysql 서버도 정상적으로 켜져 있는것을 확인 할 수 있어요 디비버에서도myproject03 이라고 정확하게 만들었습니다. 선생님의 강의하고 다른부분을 못 찾았는데, 데이터 베이스가 연결이 안될 때는 어느부분을 더 점검 해 봐야 할지요?
안녕하세요 강사님! 강의 덕분에 k8s에 자신감이 생겨 이번에 사내의 기존 vm 환경의 서버들을 k8s로 변경하려고 합니다! (TF팀을 이끌게 됐습니다) 그런데 제가 타회사의 k8s 환경을 본 적이 없어서 어떤식으로 접근하고 구성해야 할지 잘 모르겠습니다.. 서버 한대를 노드 한대로 쓰는지 서버 한대에서 vm 여러대로 쪼개서 쓰는지 마스터는 몇개로 구성하는지? 이런 것 부터 뭔가 참고 할만한게 있으면 좋겠는데.. 어디 여쭤볼곳도 없고 아무리 찾아도 나오지 않습니다 ㅠㅠ 지금 강의보고 공부해서 사내에서 저 혼자 구성해서 쓰고 있는 k8s는 이 정도인데 이걸 확장시켜서 써도 되는지도 모르겠습니다 뭔가 어떤식으로 접근하면 좋을지 감이 안잡혀서 질문드립니다 강의와 무관한 질문이라 죄송합니다 ㅠㅠ.
윈도우 기준으로 작성했습니다. server.js를 변경해서 도커를 다시 실행해도 변경된 코드가 반영되지 않은 문제를 확인함. 도커 컨테이너 내부 server.js를 확인하기 위해 아래 명령어로 컨테이너에 진입 docker exec -it 컨테이너아이디 sh server.js 파일을 읽기 위해 아래 명령어를 입력함 nano server.js 하지만 아래와 같은 출력이 발생하면서 파일 읽기에 실패함 아래 명령어들을 입력해 해결 apt-get update apt-get install nano nano 설치완료 후 server.js를 읽으니 아래와 같이 변경전 코드가 확인됨: 1) 변경전 res.send('Hello Word'); 2) 변경후 res.send('zxzzzzz'); 3) 도커 컨테이너에서 확인한 코드 도커 명령어 를 완벽히 이해하지 못한 상태 로 본 글을 작성했습니다. 따라서 부족한 부분이 있을 수 있습니다. 다음 강의를 위해 우선 기능이 작동하는데 초점 을 맞췄다는 점 참고 부탁드립니다. 명령어 변경: docker run -d -it -p 5000:3200 -v "/$(pwd)/server.js:/usr/src/app/server.js" joykim93/nodejs:latest 도커 컨테이너에서 server.js 파일 확인 참고: https://docs.docker.com/storage/bind-mounts/ https://cloudkul.com/knowledgebase/nano-command-not-found-docker/ https://itzone.tistory.com/610
강의와 같은 코드로 도커를 실행하면 아래와 같은 에러가 발생했습니다. Error: 'app.router' is deprecated! 해당 에러는 아래와 같이 코드를 변경해주시면 해결 가능합니다. 변경 전 코드: app.router.get('/', (req, res) => { res.send('Hello World');}) 변경 후 코드: app.get('/', (req, res) => { res.send('Hello World');})
제가 잘못 본건지는 모르겠지만, Node.js API구현 중 퍼사드 패턴 47:31초에서 function getToken() { const myconunt =6 if(mycount === undefined){ console.log("에러발생!!! 갯수를 제대로 입력해주세요!!!") return ~~~ } 좌측 인강화면을 보시면 01-04-token-count-api-facade 폴더에 들어있는 index.js파일에서 function getToken() 함수에서 매개변수를 지우고, const mycount = 6 으로 대체하였습니다. 하지만, 우측 노션에 학습자료 퍼사드 패턴에서는 function getToken(count) { ~~} 라고 해서 count매개 변수가 존재합니다. count를 여전히 매개변수로 사용하고 있습니다. 즉 "노션에 있는 자료가 수정되어야 한다고 생각합니다." 노션 자료 중 호출하는 부분에서 createTokenOfPhone('01012345678', 6); 매개변수 6도 삭제되어야 합니다. "REST-API 실습 강의"에서 postman으로 학습시 "휴대폰 번호 전송"이 안되서 순간적으로 당황했습니다. 확인하시고, 답글 달아주시면 감사하겠습니다. 해당강의는 Node.js API구현 중 퍼사드 패턴 47:31초입니다. 노션은 학습 자료 / 퍼사드 패턴 입니다.
강의에서 제공된 명령어 docker build ./ 입력했을 때, 아래와 같은 에러가 발생했습니다. 구글링을 통해 아래 명령어를 찾아 실행했고 도커 이미지가 정상적으로 생성되었습니다. 1) 파일명 변경 : DockerFile -> DockerFile.dockerfile (변경하지 않아도 괜찮을꺼 같습니다) 2) 명령어 : docker build . -f DockerFile.dockerfile 3) 터미널 출력 : 4) 출처 : https://stackoverflow.com/questions/64985913/failed-to-solve-with-frontend-dockerfile 더 좋은 방안이 있으면 공유 부탁드립니다. 감사합니다.
현재 Ubuntu 운영체제를 듀얼부팅으로 22.04.01 버전으로 사용하고 있고, 강의를 듣기 위해 mongodb 설치를 진행하려고 합니다. 그러나 현재 강의의 notion에서 올려주신 설치 과정을 그대로 진행했는데 6번 명령어를 실행 후 이와 같은 오류가 발생했습니다. 설치과정 sudo apt-get install gnupg wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add - lsb_release -dc echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list (jammy버전이라 fosal에서 jammy로 변경했습니다.) +추가(jammy가 아닌 forsal로도 진행을 해 봤고, 6.0버전으로도 진행해봤는데 같은 에러가 떴습니다...) sudo apt-get update sudo apt-get install -y mongodb-org 오류 메시지 몇몇 패키지를 설치할 수 없습니다. 요청한 상황이 불가능할 수도 있고, 불안정 배포판을 사용해서 일부 필요한 패키지를 아직 만들지 않았거나, 아직 Incoming에서 나오지 않은 경우일 수도 있습니다. 이 상황을 해결하는데 다음 정보가 도움이 될 수도 있습니다: 다음 패키지의 의존성이 맞지 않습니다: mongodb-org-mongos : 의존: libssl1.1 (>= 1.1.1) 하지만 설치할 수 없습니다 mongodb-org-server : 의존: libssl1.1 (>= 1.1.1) 하지만 설치할 수 없습니다 mongodb-org-shell : 의존: libssl1.1 (>= 1.1.1) 하지만 설치할 수 없습니다 E: 문제를 바로잡을 수 없습니다. 망가진 고정 패키지가 있습니다. 구글링 해본 결과 libssl1.1이 깔려있지 않아서 그렇다는 걸 확인했는데 우분투 22.04 버전은 libssl3이 이미 깔려있어 중복 설치는 좋은 해결 방법이 아니라는 것을 확인했습니다. 그래서 또 다르게 설치할 수 있는 방법이 있을지 질문드립니다.
Bringing machine 'k8s-master' up with 'virtualbox' provider... Bringing machine 'k8s-node1' up with 'virtualbox' provider... Bringing machine 'k8s-node2' up with 'virtualbox' provider... ==> k8s-master: Importing base box 'centos/7'... ==> k8s-master: Matching MAC address for NAT networking... ==> k8s-master: Checking if box 'centos/7' version '2004.01' is up to date... ==> k8s-master: Setting the name of the VM: k8s_k8s-master_1673313406363_35180 ==> k8s-master: Clearing any previously set network interfaces... ==> k8s-master: Preparing network interfaces based on configuration... k8s-master: Adapter 1: nat k8s-master: Adapter 2: hostonly ==> k8s-master: Forwarding ports... k8s-master: 22 (guest) => 2222 (host) (adapter 1) ==> k8s-master: Running 'pre-boot' VM customizations... ==> k8s-master: Booting VM... ==> k8s-master: Waiting for machine to boot. This may take a few minutes... k8s-master: SSH address: 127.0.0.1:2222 k8s-master: SSH username: vagrant k8s-master: SSH auth method: private key k8s-master: Warning: Connection reset. Retrying... The guest machine entered an invalid state while waiting for it to boot. Valid states are 'starting, running'. The machine is in the 'aborted' state. Please verify everything is configured properly and try again. If the provider you're using has a GUI that comes with it, it is often helpful to open that and watch the machine, since the GUI often has more helpful error messages than Vagrant can retrieve. For example, if you're using VirtualBox, run `vagrant up` while the VirtualBox GUI is open. The primary issue for this error is that the provider you're using is not properly configured. This is very rarely a Vagrant issue. virtual box 버전이 최신에서만 m1이 되다보니.. 안되는 거 같습니다.