묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
설치 스크립트 중 질문입니다.
vagrant 설치 스크립트에 보면 이 부분이 있는데 꼭 해줘야 하는 건지요?yum install -y cloud-utils-growpartgrowpart /dev/sda 4xfs_growfs /dev/sda4echo 0 > /proc/sys/kernel/hung_task_timeout_secsecho "kernel.watchdog_thresh = 20" >> /etc/sysctl.conf
-
해결됨개발자를 위한 쉬운 도커
Dockerfile과 docker-compose.yml 파일
안녕하세요docker-compose.yml를 사용할 때사용자가 애플리케이션에서 변경한 내용을 다시 build 해야되는 경우가 아니면dockerfile은 없어도 되는 게 맞는걸까요??
-
해결됨개발자를 위한 쉬운 도커
스프링 빌드관련 질문드립니다
"EC2에서 스프링 도커로 배포하기"를 검색어로 구글링을 해보면 거의 모든 블로그들에서FROM amazoncorretto:17 ARG JAR_FILE=./build/libs/YOURAPP-0.0.1-SNAPSHOT.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]이와같은 방식으로 도커파일을 작성하던데, 이는 잘못된 도커파일 사용인가요? 저의 가설 1 : 로컬에서 openjdk 17버전으로 빌드후 ec2에 푸시, ec2에서 해당도커파일 실행 -> 자바 버전차이로 잠재적 버그 가능성 -> 잘못된 사용 가설 2: ci/cd 머신에서 동일하게 amazoncorretto:17를 사용해서 자바 gradle를 빌드, 빌드머신에서 도커이미지 생성, ec2에서는 도커이미지만 pull-> 빌드스테이지를 나눌필요없음 -> 의도한 사용
-
해결됨개발자를 위한 쉬운 도커
강의 내용중 8분 28초에 보이는 IntelliJ 화면이 다른 것 같습니다.
안녕하세요 제 PC의 경우 Launch Docker Before Debug 화면이 나오지 않는데요 혹시 추가로 설정할 부분이 있을까요?
-
해결됨개발자를 위한 쉬운 도커
안녕하세요! 강의 자료 관련 문의드립니다...!!
안녕하세요 도커 강의 처음부터 듣고있는데, 들으면서 개인적으로 정리를 해놓고 싶은데 혹시 나온 내용들이나 사진들을 개인 블로그에 필요한 내용들을 작성해 놓고 싶은데 가능할까요...??
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
kubelet interface
안녕하세요! 강의 도중 질문이 있어서 남깁니다!쿠버네티스 흐름으로 이해하는 컨테이너 영상 중Kubelet 에 구현부를 띄워서 규격에 맞게 CRI를 돌리게 되었다는 것이 무슨 말인지 잘 이해가 안갑니다 ㅠㅠ 감사합니다!- 최대한 캡쳐 화면를 남겨주시면 문제 확인에 더 도움이 됩니다.긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops
-
해결됨개발자를 위한 쉬운 도커
도커파일 피드백..
이런 질문을 드려도 괜찮을지 모르겠습니다.. (혹시 좀 아니라고 생각하신다면 답변을 안 남겨주셔도 괜찮습니다!)다름이 아니라, 제가 다른 프로젝트에서 진행했던 Spring을 docker로 실행시키기 위해서 혼자 해보고 있었는데요Spring은 Spring Boot 3.1.5와 gradle, java17 로 이루어져 있습니다(높은 버전의 gradle 이미지를 사용하다보니 강의에서의 Dockerfile과 많이 달라졌습니다.)FROM gradle:8.2.1-jdk17 AS builder WORKDIR /app COPY . /app RUN gradle wrapper --gradle-version 8.2.1 RUN ./gradlew build FROM openjdk:17-jdk-alpine COPY --from=builder /app/build/libs/*.jar /app/app.jar ENTRYPOINT ["java"] CMD ["-jar","/app/app.jar"]이렇게 작성해서docker build -t [이미지명] . --platform linux/x86_64 해당 명령어를 사용해서 이미지를 생성하고 후에 실행까지 성공했습니다. 다만, 이 Dockerfile은 cache를 잘 활용하지 못한다는 단점이 있습니다.하지만, 제 주변에 docker를 좀 해 본 친구들은 빌드 스테이지에서도 openjdk:17-alpine을 사용해서 빌드를 진행하고, cache를 적극적으로 활용하지 않아서 물어보기가 애매했습니다.. ㅜㅜ 그래서 제가 여쭤보고 싶은 부분은1. 강의가 비교적 최근 강의임에도 gradle 이미지 버전이 7.6.12을 사용하시면서 강의를 진행했던 것으로 기억하고 있습니다. 그렇다면, gradle의 버전은 크게 상관이 없는걸까요?2. 제가 이 글에 적은 Dockerfile에 대한 피드백을 조심스럽게.. 부탁드립니다..
-
해결됨개발자를 위한 쉬운 도커
빌드과정에서 USER 부분이 궁금합니다.
강의중해당부분에서 명령을 실행할 사용자를 변경한다고 하셨는데 그러면 궁금한게 해당 사용자에대한 생성과 권한 부여같은것들은 어디에서 진행이 되는것일까요??
-
해결됨개발자를 위한 쉬운 도커
cmd와 run에 대해서 궁금한점이있습니다.!
1.RUN 명령어 실행(새로운 레이어 추가)CMD["명령어"]컨테이너 실행시 명령어 지정두개의 차이점이 이렇다고 하셨는데 어차피 컨테이너를 실행하는과정에서 처음에 실행되는것은 같은것같은데 차이점이:CMD는 이미지당 1개 RUN은 여러개가 가능하며레이어의 관점에서 CMD는 추가가 안되고 RUN의경우 레이어에 추가가되는 차이가 있는걸까요??2.그리고 해당 부분에서 docker run 실행명령을 통해서 적히는 부분은 CMD로만 적히고 컨테이너가 실행이 되고나서부터 실행하는것이 run으로 기록이 된다 라고 이해하면될까요?
-
해결됨개발자를 위한 쉬운 도커
docker hub push 불가능
안녕하세요, 수강생 입니다!우선 유익한 강의 해주셔서 감사합니다.docker hub 계정으로 로그인하고 push를 했는데 denied 되었어요 ㅠㅠ왜 그런걸까요?
-
해결됨개발자를 위한 쉬운 도커
안녕하세요 docker run 관련 질문드립니다!
안녕하세요! 강의 항상 잘듣고 있습니다.Dockerfile 지시어 강의를 수강 중에 node.js로 된 프로젝트를 Dockfile을 작성해서 이미지를 빌드하는 중에 이런식으로 run 명령어를 통해 이미지를 실행시켜도 ps로 확인해보면 올라가 있지 않습니다. 제가 어느 부분을 놓치고 있는지 궁금합니다.
-
해결됨개발자를 위한 쉬운 도커
쉬운도커 PART6_네트워크_PDF 8번 슬라이드의 NAT 테이블 예시 표기에 문제가 있습니다.
해당 NAT 테이블 예시에 글자가 NAT 테이블 예시와 포트포워딩 예시와 같이 겹쳐서 보이는 것 같습니다.
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
Section 1
일프로님 안녕하세요! 오늘 강의 결제 후 듣고 있는데 섹션 1에서 강의가 안보여서요. 원래 아무 강의도 없는 건가요?그리고 처음 쿠버네티스를 접하는 학부생인데 (그 전에는 도커만 조금 건드려 보았어요..) 결제 후 이런 질문을 하는게 늦은 것 같긴 합니다만 바로 이 강의를 들어도 되는 걸까요 ㅎㅎ 감사합니다! 🙂
-
해결됨개발자를 위한 쉬운 도커
강의 6분 39초 때에 나오는 docker cp 페이지가 강의 자료 PPT에서 보이지 않는 것 같아요
안녕하세요. 강의 6분 39초 때에 나오는 docker cp 단축어가 Part 5 컨테이너 애플리케이션 구성에서 확인되지 않는 것 같습니다. 6분 39초 우측 상단에 part3. 이미지 레지스트리에서도 보이지 않는 것 같아서 혹시 누락된 게 아닌가 여쭤봅니다. 이렇게 좋은 강의를 만들어주셔서 고맙습니다.
-
해결됨개발자를 위한 쉬운 도커
도커 볼륨 경로에 대한 질문입니다
강의 14:50 쯤에 제가 이해한 바로는 맥에서는 도커데스크탑인 가상머신을 사용하기 때문에 저 경로가 도커 데스크탑에서의 볼륨 경로이고 여기에 실제 데이터를 저장한다고 이해했습니다. 그렇다면 만약 도커 데스크탑을 삭제한다면 여기에 저장된 데이터들은 없어지는건가요? 그리고 저 경로에 왜 접근이 힘든건지 잘 모르겠습니다.
-
해결됨개발자를 위한 쉬운 도커
컨테이너에도 OS가 포함되는지 궁금합니다.
안녕하세요, 좋은 강의 잘 듣고 있습니다.PART2의 강의자료인 "이미지와_컨테이너 PDF"의 4, 5페이지의 그림을 보면 컨테이너 역시 OS를 포함하는 것으로 표현되어 있습니다. 강사분께서 nginx를 예를 들어주실 때에도 nginx 이미지를 만들때 OS가 포함된다고 설명해 주시 기억이 납니다.다만 보통 블로그나 유튜브 등에서는 VM과 컨테이너 방식을 비교할 때 "컨테이너에는 OS가 포함되지 않는다, 그래서 빠르다"고 표현하는 것을 종종 보아왔기에 이 부분이 헷갈립니다.5페이지의 그림을 잘 보면 컨테이너들은 각각 OS를 포함하고 있고, 커널은 HOST OS의 것을 공유하는 것으로 이해됩니다. 이말은 컨테이너에 포함된 OS는 커널을 포함하고 있지 않는 것인가요? 즉, "각 컨테이너들은 커널을 포함하고 있지 않고 (단, OS는 포함하고 있음) 호스트의 커널을 공유하기때문에 커널이 포함되어 있는 전체 OS를 모두 가지고 실행되는 VM대비 가볍다" 라고 이해해도 무방할까요? 제가 시스템, OS 쪽 지식이 너무 얕습니다. 초보적인 질문이라도 양해부탁드립니다.
-
해결됨개발자를 위한 쉬운 도커
commit 예제에서 -c 'CMD ["nginx", "-g", "daemon off;"]'가 필요한 이유가 궁금합니다.
이미지 커밋 예제를 보면 docker commit -m "edited index.html by devwiki" -c 'CMD ["nginx", "-g", "daemon off;"]' officialNginx (개인레지스트리명)/commitnginx를 통해 이미지를 커밋하고있습니다.이때 -c 'CMD ["nginx", "-g", "daemon off;"]' 옵션을 포함하지 않고 커밋하면 컨테이너가 정상적으로 실행되지 않고 곧바로 Exited되는 것을 확인하였습니다.커밋시 -c 'CMD ["nginx", "-g", "daemon off;"]' 를 포함해야 하는 이유가 궁금합니다.
-
해결됨개발자를 위한 쉬운 도커
docker run -d -p 8080:3000 관해서 질문 있습니다.
docker run -d -p 8080:3000 --name defaultColorApp devwikirepo/envnodecolorapp제가 이해하고 있는 부분해당 도커 실행 명령어 중 docker run -d -p 8080:3000 명령어는 호스트의 8080 포트를 컨테이너의 3000 포트에 매핑하여 실행한다. 제가 시도한 부분 docker run -d -p 8080:3000 docker run -d -p 8080:3001 로 내부 컨테이터 포트를(3000 -> 3001) 바꾸게 되면 동작하지 않습니다. 제 생각에는 해당 이미지에 할당된 포트번호 있다고 예상했고 docker image inspect devwikirepo/envnodecolorapp 을 실행 후 해당 이미지 Json에 포트번호가 있는것을 확인했습니다. "ExposedPorts": { "3000/tcp": {} }, 제가 궁금한 부분1. "ExposedPorts" 의 "3000/tcp": 내부 컨테이너 포트번호는 별도로 세팅할 수 없나요? 2. 제가 시도하여 찾은 "ExposedPorts"의 "3000/tcp": {} 이 docker run -d -p 8080:3000명령어의 :3000 과 같나요? 3. 8080:3001 로 내부 컨테이너 포트번호를 변경 시 컨테이너 실행은 정상적으로 되지만 왜 Nginx에 접속할 수 없는 걸까요?
-
해결됨개발자를 위한 쉬운 도커
섹션4. 이미지 빌드에서 이미지 커밋이 안되는 현상이 있어 문의드립니다.
안녕하세요. 강의에서 말씀하신 docker commit -m "edited index.html by devwiki" -c 'CMD ["nginx", "-g", "daemon off;"]' officialNginx kimminho0428/commitnginx:1.0위의 커맨드로 official Nginx 커밋을 시도했으나 commit이 되지 않아 문의드립니다.docker ps 명령어로 확인할 때 nginx 컨테이너는 실행 중이나 이런 현상이 발생했습니다.문법상의 오류로 보이는데 답변부탁드립니다.감사합니다.
-
해결됨개발자를 위한 쉬운 도커
leafy-front end 부분 여쭤볼게 있습니다.
안녕하세요 docker 수업 잘 듣고 있습니다.다름이 아니라 frontend 부분 빌드한 후 /app/dist -> /usr/share/nginx/html하게 되면 404 error 가 뜨게 됩니다.conf file 에서 경로를 못찾는게 아닐까 합니다...그래서 확인해본 봐로는 /etc/nginx/nginx.confhttp { server { listen 80; # 삭제 가능 server_name localhost; #삭제 가능 location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html; } }을 삽입 하면 잘 됩니다. 혹시 강의 하신 내용에서는 이부분이 없느데도 잘 작동하는데 이유를 알 수 있을까 해서 질문 드립니다.감사합니다.