당연히 구글링 해보셨져? 원하는 결과를 못찾으셨나요? 어떤 검색어를 입력했는지 알려주세 문제가 발생한 코드(프로젝트)를 Github에 올리시고 링크를 알려주세요. 현업에서 도커를 사용해 개발해오지는 않았어서 강의를 듣다가 의문이 들어서 문의 남김니다 다른 강의를 봤을때는 nginx, db, jar를 각각 만들어서 이미지들을 각각 격리하여 사용하고 상황에 따라 추가 생성하여 사용한다고 본거 같은데요 그렇게 사용하는데는 각각의 영역을 독립적으로 관리하기 위해서 한다고 봤구요 하나의 서버에서 직접 nginx+mysql+jar 설정등을 직접 하다가 도커 설정을 따로 이미지 만들어서 작업한다고 봤을때는 생소하기도 했습니다 근런데 강사님은 한꺼번에 한다고 말씀하시니 좀 헷갈리긴 하네요 현업에서는 주로 어떻게 쓰는건가요 ?
docker 실습을 위해서 Windows 환경에 WSL v2 버전 설치 후 docker를 올렸습니다. docker search 시에는 검색이 되는데 docker pull 을 하면 아래의 에러가 발생됩니다. "Error response from daemon: Get " https://registry-1.docker.io/v2/ ": net/http: TLS handshake timeout" 😢 인터넷에 찾아보니 인터넷 속도가 느려서라는데 인터넷 속도는 100Mbps로 늦을 이유가 없습니다. 혹시 다른 해결책이 있을까요? 실습이 불가능하여 이론 공부만 계속 하고 있어요 ㅠㅠ
강사님 강의 잘 듣고 있습니다. 다름이 아닌 저는 Windows 11 환경에서 docker-desktop을 설치하여 강의 및 실습을 진행중에 있는데, 호스트(윈도우)의 C:\docker\docker-practice 경로에 dockerfile(강사님 설정과 동일하여 정상 build도 가능)을 생성, 이외 영상처럼 app.txt 및 my-app이라는 폴더를 생성하여 강사님과 동일한 dockerfile 내용으로 copy 결과를 보려했습니다. 하지만 아무것도 copy되지 않음을 확인하였으며 해당 결과를 gpt에 확인 시, docker desktop에서 c드라이브 공유 설정을 확인하라는 답변이 돌아왔습니다 (settings의 resource -> file sharing 또는 resources의 Drives 탭). 하지만 gpt가 제시한 부분은 없는것인지, 제가 찾지 못하는 것인지는 불명확하나 해당 해결법은 docker-desktop에 없는 기능같아 보입니다. 혹시 관련 문제에 대한 답변 가능하실까요?
ImagePullPolicy: IfNotPresent를 설정했지만 여전히 NAME READY STATUS RESTARTS AGE spring-pod 0/1 ErrImageNeverPull 0 59s 라고 나옵니다. 제가 찾아보니 docker 이미지는 데몬 에서 생성되었고, Kubernetes의 런타임이 자기 저장소에서 spring-server 이미지를 찾을수없다고 나오는데 이럴때 어떻게 해결해야하나요?
master 에서 join.sh 내용출력이 안됩니다. worker node1 접속 후 토큰 붙여놓기 후 아래와 같이 출력됩니다. [root@k8s-worker1 ~]# kubeadm join 192.168.56.30:6443 --token fdfwp6.t3ccgvnu2mdzdilt --discovery-token-ca-cert-hash sha256:fc087710b4581cea2a70d62948902e219b9d60ef8767749dc8595118fb5bdf68 [preflight] Running pre-flight checks error execution phase preflight: couldn't validate the identity of the API Server: configmaps "cluster-info" is forbidden: User "system:anonymous" cannot get resource "configmaps" in API group "" in the namespace "kube-public" To see the stack trace of this error execute with --v=5 or higher
https://cafe.naver.com/kubeops/495 에 있는 설치 메뉴얼로 설치를 하였습니다 성공적으로 설치를 하였고 모든 파드가 running 상태인걸 확인 하였습니다 그후 클러스터,노드 종료후 재시작 하였을시 아래와 같이 csi-node 파드들이 정상적으로 실행이 되지 않습니다. 로그는 아래와 같이 나옵니다 [root@k8s-master ~]# k logs csi-node-driver-tjw8x -n calico-system Defaulted container "calico-csi" out of: calico-csi, csi-node-driver-registrar exec /usr/local/bin/csi-driver: exec format error 클러스터랑 노드를 재시작시 터미널에서 종료한것이 아닌 비추얼박스 ui에서 종료를 하였는데 터미널에서 shutdown을 하여야 하는것인가요?
안녕하세요. 실습을 진행하는 도중에 권한 문제와 관련된 에러를 만났습니다. docker logs 7be chmod: changing permissions of '/var/lib/postgresql/data': Operation not permitted The files belonging to this database system will be owned by user "postgres". This user must also own the server process. 디렉토리에 대한 적절한 권한을 postgresql 컨테이너가 가지고 있지 못해서라고 하는데요. 이 때, Docker 볼륨을 사용해서 문제를 해결하는게 가장 적절할까요? docker volume create postgredata
entity 등으로 생성된 tpye 에서 강의에서 사용된 코드로 예시를 들면 # product.entity.ts @JoinTable() @ManyToMany(() => ProductTag, (productTags) => productTags.products) @Field(() => [ProductTag], { nullable: true }) productTags: ProductTag[]; 위와같이 nullable 을 사용하여 #schema.gql type Product { productId: String productName: String! description: String! productPrice: Int! isSoldout: Boolean! productSalesLocation: ProductSalesLocation productCategory: ProductCategory user: User productTags: [ProductTag!] } productTags: [ProductTag!] 와 같이 할 수 있었습니다. 위에서 productTags: [ProductTag!] 를 productTags: [ProductTag] 와같이 변경 해보려고합니다. 방법이 있나요? @Field(() => [ProductTag, { nullable: true }], { nullable: true }) 에러는 발생하지 않지만 안됩니다.
yarn start:dev 를 할 경우 Many to Many 로 자동으로 생성되는 table이 자꾸 문제를 일으키네요. 서버 재 실행시 기존에 만들어진 중간테이블 강의에서는 상품_상품태그 테이블이 되겠네요. 해당 테이블을 삭제후 실행하지 않으면 에러발생시키네요. 원인을 찾아보면 아래 코드의 주석된 custom join table 이 문제였는데요. 기본 @JoinTable 사용시 문제는 사라집니다. // @JoinTable({ // name: 'PRODUCT_TO_PRODUCT_TAG', // 원하는 중간 테이블명 // joinColumn: { // name: 'PRODUCT_ID', // Product 엔티티 ID를 참조하는 컬럼명 // referencedColumnName: 'productId', // Product 엔티티의 실제 ID 컬럼명 (기본값은 PrimaryColumn 이름) // }, // inverseJoinColumn: { // name: 'PRODUCT_TAG_ID', // ProductTag 엔티티 ID를 참조하는 컬럼명 // referencedColumnName: 'productTagId', // ProductTag 엔티티의 실제 ID 컬럼명 // }, // }) @JoinTable() @ManyToMany(() => ProductTag, (productTags) => productTags.products) @Field(() => [ProductTag], { nullable: true }) productTags: ProductTag[]; 질문 1. 위의 문제를 해결할 수 있는 방법입니다. 질문 2. DB 컬럼에는 UPPER_CASE (SCREAMING_SNAKE_CASE) 로 작성하지 않나요? 그렇기 때문에 custom / 각 컬럼마다 @Column({ name: 'BOARD_TITLE', type: 'varchar', length: 50, nullable: false, }) @Field(() => String) boardTitle: string; 위와 같이 컬럼명을 하나하나 지정해줬습니다. typeorm 또는 요즘 실무 컨벤션에서는 강의에서처럼 카멜표기법으로 사용하나요? Node 강의지만 Java기준 스프링 기본설정에서 카멜케이스조차도 스네이크로 자동 변환하는데 말이죠! msa 구조에서는 테이블은 공통된걸 사용할수도 있으니 궁금해서 질문 드립니다.
실무에서 도커를 사용하고 있지만 intelliJ 에서 spring app을 실행하고 개발환경을 맞출 수 있다는 생각은 안해봤습니다. 좋은 내용 감사합니다. 다만 remote JVM Debug 설정을 추가할 때 before launch 설정중 '+'에서 'Lanch Docker Before Debug' 옵션이 없는데 왜그런걸까요? 확인해주시면 감사하겠습니다. 좋은 하루 되세요
ECR에서 이미지를 못받아 오는거같습니다... 무슨 문제일까요.. NAME READY STATUS RESTARTS AGE spring-deployment-6fdbd9cd87-j8ljj 0/1 ErrImagePull 0 6m1s spring-deployment-6fdbd9cd87-mchqp 0/1 ErrImagePull 0 6m1s spring-deployment-6fdbd9cd87-tp5x6 0/1 ErrImagePull 0 6m1s Error from server (BadRequest): container "spring-container" in pod "spring-deployment-6fdbd9cd87-j8ljj" is waiting to start: trying and failing to pull image Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 4m7s default-scheduler Successfully assigned default/spring-deployment-6fdbd9cd87-j8ljj to ip Normal Pulling 70s (x5 over 4m6s) kubelet Pulling image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0" Warning Failed 70s (x5 over 4m6s) kubelet Failed to pull image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0": rpc error: code = NotFound desc = failed to pull and unpack image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0": no match for platform in manifest: not found Warning Failed 70s (x5 over 4m6s) kubelet Error: ErrImagePull Normal BackOff 10s (x15 over 4m5s) kubelet Back-off pulling image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0" Warning Failed 10s (x15 over 4m5s) kubelet Error: ImagePullBackOff 아키텍처 불일치 문제 같은데 ARM64용 이미지 빌드 및 푸시를 해서 해결하려니 Dockerfile이 없다고 ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory 꼬리에 꼬리를 무는게 뭔가 잘못된방향으로 가는거 같아서 도움이 필요합니다..