묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발자를 위한 쉬운 도커
이미지 레이어 관련 궁금증 질문드립니다!
안녕하세요 궁금증이 생겨 질문드립니다!강의 중 엔진엑스로 만든 이미지가 있는데 index.html이 다른 A가 있고 B가 있다라는 예시가 있었습니다. 이때 아래와 같이 설명해주셨는데요 이미지를 공유해서 사용하는거랑 컨테이너 생성속도랑 어떻게 연관이 있는건지 잘 이해가 가지 않아 질문드립니다.동일한 이미지로 컨테이너를 아주 많이 만들어도 이 이미지로 실행된 모든 컨테이너가 하나의 이미지를 공유해서 읽어옵니다. 실제로 큰 부분을 차지하는 이미지를 하나로 유지할 수 있기 때문에 컨테이너를 생성할 때 속도가 빨라지는 것이죠. 또한 아래와 같이 설명해주셨는데요컨테이너를 만들 때 사용된 이미지에 따라서 이미지의 읽기 전용 레이어 전체를 공유할수도 있고 일부만 공유할 수도 있습니다 이렇게 이미지의 읽기 전용 레이어를 활용하면 컨테이너를 실행할 때 전체 공간을 복사하지 않아도 되기 때문에 컨테이너를 빠르게 실행할 수 있습니다. 그리고 컨테이너가 늘어나면서 사용하는 공간을 최대한 작게 관리할 수 있습니다.엔진엑스 이미지 A가 다운받아져있다 가졍하고 index.html이 다른 이미지 B를 다운 받는다 가정해보겠습니다. 이미지 B를 다운받을때 이미지 A와 레이어가 같은것은 다운받지 않고 레이어가 다른 index.html레이어만 다운받는걸까요? 컨테이너가 늘어나면서 사용하는 공간을 최대한 작게 관리할 수 있다라는게 어떤것인지 잘 이해가 되지 않아 질문드려봅니다 (레이어별로 파일이 나뉘어 있는걸까요)혹시 위와 같은 부분을 실습으로 확인할 수 있는 것이나 공식문서 부분에서 확인할 수 있는게 있다면 같이 부탁드립니다!
-
미해결대세는 쿠버네티스 [초급~중급]
다중 클러스터 조회
강사님 안녕하세요 1번 클러스터, 2번 클러스터 2개의 클러스터로다중 클러스터 구축을 하였고kubectl use-context 로 클러스터간 swiching을 하면서각각 클러스터의 정보를 조회할 수가 있는데요현재는 swiching 한 클러스터의 정보만 조회할 수 있습니다. 혹시 1번 클러스터에서 1번/2번 클러스터의 정보를 같이 조회할 수가 있나요?예를 들어 kubectl get node -o wide 했을때1번 클러스터와 2번 클러스터의 노드들이 모두 나오게 할 수 있는 설정이 궁금합니다. 항상 감사합니다.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ecs fargate service 생성 에러
이런 식으로 설정하고 생성했는데, 서비스 생성이 안됩니다. 서브넷은 4개를 다 고르려고 해도 생성할 때 막혀서 프라이빗으로 2개만 고른 상태고요. role은 원래 있던 ecsexcution에 더해 ECSfullAccess를 추가해서 사용했습니다. 이런 에러가 뜨고클라우드 포메이션에선그리고 이벤트에선이런 에러들을 확인할 수 있었습니다.그리고 로그를 확인해보면 cloudWatch에서 보였다가 안보였다가 하는데Nestjs로 서버가 구동되었을 때 터미널에서 확인할 수 있는 서버 실행성공 메시지가 보이고요.프로젝트 기한이 급해 강의를 모두 수강하고 진행할 시간이 없어서 이렇게 무례하게 질문드리는 것을 사과드립니다.
-
미해결대세는 쿠버네티스 [초급~중급]
노드 간에 오토 스케일링 관련 질문
한 노드에서 일정량 이상의 자원을 사용하여 (파드양 증가) 기준치 이상을 넘겼을 때 다른 노드에 있는 자원을 빌려 쓸 수 있는 방식에 대하여 여쭤보고싶습니다.예를들면 노드1에서 cpu사용량이 50퍼를 넘었을 때 노드 2에서 cpu 자원을 빌려아서 노드1 내 파드에 할당을 할 수 있는 방식과 같이 다른 노드에서의 자원을 빌려 쓰는 방식이 있다면 얌 파일을 어떻게 만들어야 하는지 궁금합니다.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
실습환경 구성 관련 문의
실습환경 구성 중 vagrant로 구성이 되지 않아 OVA파일을 다운받아서 구성을 하고 VM을 동작하면 다음과 같은 오류가 발생하여, 환경 구성이 안되어 문의드립니다 == 오류 내용 ==가상 머신 m-k8s-1.25.0(github_SysNet4Admin)의 세션을 열 수 없습니다.Not Hyper-V CPUID signature: 0x61774d56 0x4d566572 0x65726177 (expected 0x7263694d 0x666f736f 0x76482074) (VERR_NEM_NOT_AVAILABLE).VT-x is not available (VERR_VMX_NO_VMX).결과 코드: E_FAIL (0x80004005)구성 요소: ConsoleWrap인터페이스: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}아울러 교육영상에서는 버전이 없던데 버전 정보가 추가 된 것인지요
-
미해결초보를 위한 도커 안내서
ghost 실습 데이터베이스 에러
db image를 mariadb로 변경했음에도 아래와 같은 에러가 발생합니다.. Attaching to ghost-db-1, ghost-ghost-1ghost-db-1 | 2024-04-18 13:58:19+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.7.8+maria~ubu2004 started.ghost-ghost-1 | find: '/var/lib/ghost/content/themes/source': No such file or directoryghost-ghost-1 | find: '/var/lib/ghost/content/themes/casper': No such file or directoryghost-ghost-1 | chown: cannot access '/var/lib/ghost/content/themes/source': No such file or directoryghost-ghost-1 | chown: cannot access '/var/lib/ghost/content/themes/casper': No such file or directoryghost-ghost-1 exited with code 1ghost-db-1 | 2024-04-18 13:58:19+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'ghost-db-1 | 2024-04-18 13:58:19+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.7.8+maria~ubu2004 started.ghost-db-1 | 2024-04-18 13:58:19+00:00 [Note] [Entrypoint]: MariaDB upgrade information missing, assuming requiredghost-db-1 | 2024-04-18 13:58:19+00:00 [Note] [Entrypoint]: MariaDB upgrade (mariadb-upgrade) required, but skipped due to $MARIADB_AUTO_UPGRADE settingghost-db-1 | 2024-04-18 13:58:19 0 [Note] Starting MariaDB 10.7.8-MariaDB-1:10.7.8+maria~ubu2004 source revision bc656c4fa54c12ceabd857e8ae134f8979d82944 as process 1ghost-db-1 | 2024-04-18 13:58:19 0 [Note] InnoDB: Compressed tables use zlib 1.2.11ghost-db-1 | 2024-04-18 13:58:19 0 [Note] InnoDB: Number of transaction pools: 1ghost-db-1 | 2024-04-18 13:58:19 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructionsghost-db-1 | 2024-04-18 13:58:19 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)ghost-db-1 | 2024-04-18 13:58:19 0 [Note] InnoDB: Using Linux native AIOghost-db-1 | 2024-04-18 13:58:19 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728ghost-db-1 | 2024-04-18 13:58:19 0 [Note] InnoDB: Completed initialization of buffer poolghost-db-1 | 2024-04-18 13:58:19 0 [ERROR] InnoDB: MySQL-8.0 tablespace in ./ibdata1ghost-db-1 | 2024-04-18 13:58:19 0 [ERROR] InnoDB: Restart in MySQL for migration/recovery.ghost-db-1 | 2024-04-18 13:58:19 0 [ERROR] InnoDB: Plugin initialization aborted with error Unsupportedghost-db-1 | 2024-04-18 13:58:19 0 [Note] InnoDB: Starting shutdown...ghost-db-1 | 2024-04-18 13:58:19 0 [ERROR] Plugin 'InnoDB' init function returned error.ghost-db-1 | 2024-04-18 13:58:19 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.ghost-db-1 | 2024-04-18 13:58:19 0 [Note] Plugin 'FEEDBACK' is disabled.ghost-db-1 | 2024-04-18 13:58:19 0 [ERROR] Could not open mysql.plugin table: "Table 'mysql.plugin' doesn't exist". Some plugins may be not loadedghost-db-1 | 2024-04-18 13:58:19 0 [ERROR] Unknown/unsupported storage engine: InnoDBghost-db-1 | 2024-04-18 13:58:19 0 [ERROR] Abortingdocker-compose.yml 내용은 아래와 같습니다. version: '3' services: ghost: image: ghost ports: - "60000:2368" volumes: - ./ghost_data:/var/lib/ghost/content environment: database__client: mysql database__connection__host: db database__connection__user: root database__connection__password: example database__connection__database: ghost db: image: mariadb:10.7 environment: MYSQL_ROOT_PASSWORD: examplemysql(mariadb 10.9)에 접속해서 ghost 데이터베이스를 생성해도 에러가 발생합니다..
-
미해결초보를 위한 도커 안내서
ghost 관리자 화면, 환경변수 url
environment: url: http://localhost:60000이 부분이 의미하는바를 잘 모르겠습니다...다른 분이 동일한 질문을 해주셨고, 답변도 주셨는데.. 그 답변도 이해가 안가서 이렇게 질문을 남깁니다.실습을 진행 했고, localhost:60000으로 접속하면 아래와 같이 화면이 보여집니다. 하지만 sign up이나 sign in 버튼을 누르면 아무런 반응이 일어나지 않습니다.. ghost의 관리자 화면이 어떤 것인지?"environment의 url부분에 당 부분의 설정을 바꾼다음에 관리자 화면에서 미리보기가 되는지 테스트해보시겠어요?" 이 부분도 잘 이해가 안 갑니다...
-
미해결초보를 위한 도커 안내서
ghost 실습 - 환경변수 url (2024)
environment: url: http://localhost:60000 이 부분이 의미하는바를 잘 모르겠습니다...다른 분이 동일한 질문을 해주셨고, 답변도 주셨는데.. 그 답변도 이해가 안가서 이렇게 질문을 남깁니다. ghost의 관리자 화면이 어떤 것인지? "environment의 url부분에 설정을 하면 해당 값이 ghost의 사이트 url로 설정됩니다.해당 부분의 설정을 바꾼다음에 관리자 화면에서 미리보기가 되는지 테스트해보시겠어요?" 이 부분도 잘 이해가 안 갑니다...
-
미해결초보를 위한 도커 안내서
hellonode 실습 질문있습니다.
도커 이미지 만들기 - 웹 애플리케이션 (nodejs) 강의처럼hellonode 이미지의 dockerfile에 아래와 같이 작성하였고, FROM node:latestCOPY . /usr/src/app EXPOSE 8080 CMD node server.jsnode라는 디렉토리에 dockerfile 및 server.js 파일을 생성했으며, node 디렉토리에서 아래와 같이 docker 명령어를 실행했습니다. docker build -t my-node .docker run --rm -p 60000:8080 my-node 이미지를 실행시키니, server.js를 찾을 수 없다고 합니다. 답안지에 따라서 dockerfile을 아래와 같이 작성하니 성공하긴 했습니다. FROM node:latest COPY server.js /app/ EXPOSE 8080 CMD ["node", "/app/server.js"]제가 궁금한 점은, 왜 제가 강의를 보고 처음 시도한 dockerfile로는 에러가 발생하는지 모르겠습니다.
-
미해결따라하며 배우는 MySQL on Docker
failover 진행중 둘다 slave로 설정
안녕하세요 실습 도중 실수로 둘다 slave 설정을 해버려서db001, db002 둘다 서로를 바라보는 slave 모드로 변경이 되었습니다. 그래서 orchstrator에서도 개별로 돌아가고 있으며 어느 하나도 마스터가 되고 있지 않습니다. 이런경우 db001을 마스터로 변경하여 db002를 slave로 설정하고 싶다면 어떻게 설정해야 할까요?
-
미해결개발자를 위한 쉬운 도커
docker compose 사용시 프론트엔드에서 백엔드 연결
저번에 질문했었던 사람입니다.테스트로 인하여 코드가 계속 변경되어 새로 글 올립니다. 프론트엔드를 nextjs를 사용하고, 백엔드는 nestjs를 사용중입니다.nextjs에서 .env파일에 backend_url을 입력해놓고, nextjs에서 process.env.backend_url 을 통해서 사용중입니다. github 주소 : https://github.com/ababqw123/wedding-app이고,프론트엔드에서 .env파일에 backend 주소는 현재 로컬 테스트로로 작성해서 localhost의 8080 포트를 사용중이고, process.env.NEXT_PUBLIC_SERVER_URL을 통해서 가져오고 있습니다.docker compose에서도 8080포트로 지정을 따로 해주었습니다.docker로 연결했을 때 백엔드 주소를 어떻게 설정해야할지 정확하게 몰라서 문의 드립니다.
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
RestaurantApi 컨트롤러 개발 질문
안녕하세요 쥬쥬님 RestaurantApi 컨트롤러 개발 시 프론트로부터 파라미터를 받고 서비스로 바로 넘겨주셨는데 현업이나 일반적으로 보통 컨트롤러에서 파라미터를 받으면 그대로 서비스 단으로 넘겨주는지 궁금합니다!
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
@Transactional 질문 있습니다!
안녕하세요@Transactional 어노테이션을 클래스에다가 붙이면 안에 있는 메서드에 전부 적용되는 것으로 알고 있는데쥬쥬님께서는 메서드 하나하나에 적용을 하시더라구요 혹시 메서드에 하나하나 달아주는 이유를 알 수 있을까요??
-
미해결따라하며 배우는 MySQL on Docker
app_test_conn.sh
안녕하세요. app_test_conn.sh에서 172.31.10.19 IP는 어디서 오는건가요?지금까지 같은 IP로 접속 및 진행을 해도 문제는 없었는데172.31.10.19를 넣고 쉘 실행하니 아무것도 나오지 않습니다.아예 다른 IP를 넣으면 에러가 나는데 에러도 안나는걸 봐서는 뭔가 설정을 잘못한게 아닌지 문의드립니다. 쉘을 실행하기전 아래 명령어는select @@hostname,now()는 proxysql서버에 들어가서 진행해보면 될까요?
-
미해결대세는 쿠버네티스 [초급~중급]
window 환경 vagrant up 에러 문의드립니다
https://kubetm.github.io/k8s/02-beginner/cluster-install-case6/기존에 실습하던 환경과 컴퓨터가 바뀌어위 링크 참조하여 다시 설치를 진행했는데 위와 같은 에러가 발생합니다램16기가, disk 공간 여유롭습니다다른 에러들은 구글링 하면서 고쳤는데 위 에러는좋은 해답을 못찾아서 질문 드립니다 -- 해결했습니다 --윈도우 계정명이 한글이어서 발생한 호환성 이슈인 것 같습니다신규로 윈도우 로컬 계정 생성하여 동일한 환경에서 진행하니정상적으로 설치 되었습니다
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
변경데이터 저장 방법 질문 있습니다!
안녕하세요 쥬쥬님testEntity를 리포지토리에서 조회에서 가져온 다음에change 메서드로 수정을 한 후에리포지토리의 save 메서드를 사용하셨는데dirty checking을 사용하지 않고 save를 사용하신 이유가 있을까요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
레디스, node.js 설치 후 의문점이 생겨 질문드립니다.
node js설치를 해서 git bash에서 확인을 했습니다. 그리고 윈도우11이라 ms store에서 우분투 22.04.3 LTS 설치해서 여기서 레디스를 설치했습니다.그러고 깃 배쉬에서 레디스는 확인이 안되고 우분투에서는 node.js 확인이 안되는데 차후 수업 진행하면서 연동하는 것이 가능할까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
node.js version
안녕하세요. 5개월쯤 완강하고 실습 했을때는 문제가 없었는데,지금 다시 마지막 강의와 같이 배포하려고 하니 github action에서 Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.다음과 같은 에러가 납니다. 혹시 어떤 문제인지 알 수 있을까요?
-
미해결대세는 쿠버네티스 [초급~중급]
k8s naming convention이 궁금합니다.
일프로 강사님께. 안녕하세요. 일프로 강사님 강의를 잘 챙겨보고 있는 학생입니다. 강사님 수업을 듣고 기존 도커 컨테이너로 운영하고 있는 서비스를 로컬에서 k8s로 변경하면서 공부하고 있습니다. 제가 백엔드 개발을 주로 해서 yml 파일을 작성할 때 코드 컨벤션에 신경이 많이 쓰입니다. deployment나 service, configMap 등의 이름을 작성할 때 현업에서 사용하고 있는 컨벤션 등이 있다면 알려주실 수 있을까요? 찾아보니 유의미한 자료를 찾지 못해서 질문을 남깁니다. 좋은 강의 감사드립니다!!
-
미해결대세는 쿠버네티스 [초급~중급]
m2에서 node1과 node2에서 yum 설치가 되지 않습니다..
해당 사진 과 같이 master에서는 yum 설치가 잘됩니다.. 근데 2개의 node에서는 yum 설치가 되지 않습니다.서버 모두 다 삭제하고 설치 해봤구요 몇번을 해도 똑같습니다.,,ㅠㅠ 며칠째 이문제 때문에 강의 시작도 못하고 있습니다.검색해 보면 DNS 설정을 안해줘서 라는데,,, 강의 노트에는 아무리 봐도 DNS 설정하는 부분은 없는 것 같은데 도움을 부탁드리겠습니다.