묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발자를 위한 쉬운 도커
지시어 관련 궁금
그렇다면 하나의 지시어는 이미지의 하나의 레이어에 해당하는 것이 맞나요 ?? 아직 개념이 헷갈려 질문드립니다.
-
해결됨개발자를 위한 쉬운 도커
이미지 레이어 관련 질문 드립니다.
우선 이런 강의를 올려주셔서 감사드립니다. 궁금한 점은 이미지는 레이어로 되어 있고, 이미 존재하는 레이어의 경우 추가로 다운로드 하지 않는다고 이해했습니다. 그리고 실제로 두 번째 이미지인 config-nginx 다운로드 받을 때도 이미 있는 레이어의 경우 Already exists 라고 다운로드 하지 않는 부분도 확인했습니다. 그런데 docker image ls 로 검색했을 때 나오는 size는 다 142M으로 동일하게 나오는 데 이미지 용량이 아닌건가요? 물리 용량이 아닌 논리 용량 일까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
wsl 환경으로 작업중인데
docker run -e MYSQL_ROOT_PASSWORD=pwd1234 -d -p 3306:3306 -v /mnt/c/Users/SSAFY/desktop/docker/docker-mysql/mysql_data:/var/lib/mysql mysql 명령어 실행시 2024-07-03T08:05:15.221312Z 0 [ERROR] [MY-010295] [Server] Could not set file permission for ca.pem2024-07-03T08:05:15.221336Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.이런 오류가 발생합니다. 권한부여 등 여러 방법을 시도했지만 모두 실패했고 wsl이 아닌 그냥 윈도우 터미널로 실행했을때는 정상 작동 하엿습니다 어떻게 해결할까요??
-
해결됨개발자를 위한 쉬운 도커
copy-on-write 전략에 대해 질문 있습니다.
index.html 파일 혹은 nginx.conf 파일을 수정한다고 했을때 읽기 레이어에 있는 파일들을 수정하는게 아니라 읽기 레이어에 있는 파일들을 읽기/쓰기 레이어로 COPY 해오고 COPY 해온 파일들을 수정해서 사용하는 건가요?위 내용이 맞다면 굳이 읽기쪽 레이어에 있는 파일을 COPY 안하고 읽기/쓰기에 있는 파일을 바로 수정하면 안되는건지 궁금합니다.읽기/쓰기 레이어에 있는 nginx.conf 파일을 수정한다고 했을때 실무에서의 흐름이 EC2에 접속하고 docker를 설치하고 nginx 이미지를 pull 하고 nginx 컨테이너를 띄운다음 nginx 컨테이너에 접속해서 nginx.conf 파일을 수정하기 가 맞는건지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
호스트경로/mysql_data경로 질문
안녕하세요mysql_data는 어떤 역할하고 있는지 궁금합니다.mysql_data를 없이 docker에 mysql를 넣었는데 실행이 중단되고 아래와 같은 오류가 나와서 이유를 알고싶습니다그리고 항상 docker에 mysql에 호스트 내부에 파일을 저장할때 새로운 my_data의 이름이 아니여도 다른 파일경로를 지정을 해줘야하는건가요?
-
해결됨개발자를 위한 쉬운 도커
수업 내용 중 질문 있습니다.
2분 20초 쯤 동일한 이미지에서 실행한 컨테이너는 내부에서 모두 동일한 프로세스로 실행된다. 라고 하셨는데만약 동일한 이미지로 컨테이너 5개를 띄운다면 하나의 프로세스가 5개의 컨테이너를 감당하게 되는데 이렇게 되면 비효율적이지 않나요?
-
해결됨개발자를 위한 쉬운 도커
사진속에 이미지 별로 OS가 존재하는 부분에 대해 질문 있습니다.
안녕하세요 사진속에 이미지 별로 OS가 존재하는 부분이 궁금해서 질문글을 작성했습니다.컨테이너 가상화면 각 컨테이너에 OS가 없고 호스트 OS를 공유해서 사용하는 걸로 알고 있습니다. 그리고 컨테이너는 이미지를 바탕으로 실행되는 프로세스 개념으로 이해 했습니다.사진처럼 이미지 내부에도 결국 OS가 존재한다면 컨테이너에도 결국 OS가 존재하는게 아닌가 라는 궁금증이 생겼습니다.
-
해결됨개발자를 위한 쉬운 도커
가상머신과 프로세스에 대해 질문 있습니다.
안녕하세요기존 호스트 OS에서 프로그램을 4개 실행 시켰을때 4개의 프로세스가 생성이 되서 작업을 진행합니다 그리고호스트 OS에 하이퍼바이저를 설치하고 4개의 가상 머신을 실행시 결국에는 이 4개의 가상 머신에 대한 프로세스도 4개 할당이 되는건지 궁금합니다. 만약 할당이 된다면 맨 처음 얘기한 호스트 OS 만 있었을때의 프로세스와 가상 머신에 할당된 프로세스와 어떤 차이점이 있는지 궁금합니다.감사합니다.
-
해결됨개발자를 위한 쉬운 도커
정리
안녕하세요 선생님. 공부하면서 블로그에 정리를 하려는데, https://www.inflearn.com/course/개발자를-위한-쉬운-도커?inst=f4872931&utm_source=instructor&utm_medium=referral&utm_campaign=inflearn_트래픽_promotion-link이 출처를 남긴다면, 괜찮을까요? 다른 질문에서 가능하다고 되어 있는데, 그래도 한번더 여쭤보고 작성하는게 좋을 것 같아 연락드립니다.양질의 강의 감사드립니다!
-
해결됨개발자를 위한 쉬운 도커
로그인에 성공했는데 권한 거부와 함께 push 가 안됩니다.
로그인에 성공했는데 push 가 안됩니다. ㅠㅠ 어떻게 해야 할까요..?
-
해결됨개발자를 위한 쉬운 도커
이미지라는 것에 대한 궁금증
안녕하세요 강사님 ! 정말 도커에 대해서 처음 듣는데도 이해하면서 들을 수 있어 감사합니다 . 우선 궁금한 것이, 이미지라는 것이 결국 애플리케이션을 실행하는데 필요한 모든 파일과 설정을 포함하는 읽기 전용 템플릿 ? 파일 시스템이라는 것을 이해했습니다.그런데 궁금한 것이, 그렇다면 지금처럼 계속 이미지를 nginx만 넣어주고 있는데 이후에 만약 제가 따로 개발한 애플리케이션을 이미지로 넣을 수도 있는 것인가요 ? 보통 이미지에는 어떤 것이 들어가는지 궁금합니다. 말 그대로 프로그램이면 다 올라갈 수 있는 것인가요 ?
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
프론트엔드 배포 관련해서 질문 있습니다.
안녕하세요. 쉽고 재미있게 강의 만들어주셔서 잘 보며 공부하고 있습니다! 강의 듣던 중에 하나 궁금한 점이 있어서 질문을 남기게 됐는데요. 현재 Next.js로 프론트엔드 프로젝트를 하는데 AWS의 어떤 서비스로 배포를 하는게 좋을까 고민중입니다. 강의에서 EC2는 보통 백엔드에 사용한다고 하셔서요! S3는 보통 정적인 사이트를 배포할 때 사용하는 것으로 알고 있는데 SSR 서비스 배포 시에는 어떤 서비스로 배포하는걸 추천하시나요?
-
해결됨개발자를 위한 쉬운 도커
VScode 컨테이너 내부에서 개발환경 구성
안녕하세요! 데브위키님!우선 도커 강의를 잘 듣고 있고 너무 도움이 되는 강의라 강의를 만들어 주셔서 감사합니다!세션 8의 VScode 컨테이너 내부에서 개발환경 구성 강의를 듣다가 궁금한 점이 생겼는데dockerfile이.devcontainer의 dockerfile과 leafy-front 파일의 dockerfile이 두 개가 있는데강의에서처럼 VScode에 컨테이너 구성을 했을 때, leafy-front 파일의 dockerfile은 쓰이지 않는 것인지또 실제 배포를 했을 땐, leafy-front 파일의 dockerfile이 사용되고 .devcontainer의 dockerfile은 사용이 안 되는 것인지 궁금합니다.마지막으로 이 두 dockerfile은 서로에게 영향을 주진 않는지도 궁금합니다!
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
rm -rf mysql_data
10:55 초 쯤 rm -rf mysql_data 로 하고 다시세팅하면기존에 디비들이 다 삭제되고초기화 되는거 아닌가요 !!?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker compose up 시 느려짐 + 프로젝트 실행 안되는 문제
안녕하세요. 항상 좋은 강의 감사합니다.현재 이 강의와 CI/CD 입문/실전 강의를 동시에 수강중입니다. 현재 강의로 배포하는 방법을 익힌 후CI/CD 에서 배운것처럼 무중단 배포로 넘어가려고 하는데 문제가 생겨 질문드립니다... 강사님의 설명대로 할 땐 제대로 스프링부트 파일이 실행이 되었는데개인프로젝트에 진행하려 하니 문제가 생겨서 문의드립니다. 각각의 개인 프로젝트마다환경도 다르고 설정도 달라서 조언주시기 힘드실 수도 있을 것 같습니다. 한 이틀을 꼬박 매달려도안되서 답답한 마음에 질문드립니다... ㅜㅜ 먼저, 현재 주어진 상황입니다1.윈도우환경에서 실습중이고, putty를 활용하여 프로젝트를 진행중에 있습니다.2. 프로젝트는 스프링부트+mysql (스프링시큐리티도 적용)aws의 인바운드규칙에 8080포트는 열어뒀습니다. 그리고 제가 작성한 도커파일과 compose.yml입니다. 운영환경에서 실행시킬거라 ENTRYPOINT를 추가했습니다.FROM openjdk:17-jdk COPY build/libs/*SNAPSHOT.jar /app.jar ENV SPRING_PROFILE="dev" ENTRYPOINT ["java", "-Dspring.profiles.active=${SPRING_PROFILE}", "-jar", "/app.jar"]services: my-server: build: . ports: - 8080:8080 depends_on: my-db: condition: service_healthy environment: - SPRING_PROFILES_ACTIVE=dev my-db: image: mysql environment: MYSQL_ROOT_PASSWORD: pwd1234 MYSQL_DATABASE: mydb volumes: - ./mysql_data:/var/lib/mysql ports: - 3306:3306 healthcheck: test: ["CMD", "mysqladmin", "ping"] interval: 5s retries: 10이러고 docker compose up -d --build를 하면이렇게 나옵니다. 처음엔 프로파일 설정하는 게 문제였는데 위와 같이 설정을 한 후로는 dev로 잘 인식하는 것 같은데 로그 찍히는게 이게 전부입니다. 시행착오 전엔 더 길게 찍히고 db접속되는내용도 나왔었는데 그 후론 이렇게 나오고 전부네요. 문제점은일단 제 ec2의 퍼블릭ip:8080 으로 접속 시 접속이 안되는 점이 제일 큽니다. 제 빌드 파일이 그렇게 크지 않은 것 같습니다. 80mb정도 나오고, EC2는 용량을 30Gb로 설정을 해줬습니다. 그런데 너무너무 느려집니다. docker compose up -d --build 후에 너무너무 느려지고 명령어 하나 치기까지 너무 느려집니다. 모니터링 결과 cpu는 20~30 퍼센트 정도 사용으로 나옵니다. 그래서 인스턴스 재부팅도 여러번해봤지만 compose up만 하면 느려지네요,, 그래서 이 EC2 인스턴스로 연습을 많이 한 것 같아서 필요없는것들 지웠지만 그래도 너무 느려집니다. 그래서 새로 aws 계정을 파서 EC2 인스턴스를 만들어서 실행해봐도 느려지는 문제는 똑같습니다. 스프링시큐리티를 적용했기 때문에 처음 실행할 때 토큰이 나오면 로그인하려 하는데 아예 접속이 안되니 어떡해야할지 모르겠네요 ㅠㅠ....구글링과 gpt로 다 고쳐보고는 있는데 근본적인 문제가 어디일지 감이 안와서 혹시 예상되는 문제점이 있으실까 해서 여쭤봅니다 ㅠㅠ 감사합니다. p.s. 새로 만든 EC2 인스턴스에선 cpu사용률이 99퍼 찍었네요 ㅠㅠ 일단 이것부터 해결하고 오겠습니다...
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
호스트컴퓨터
강의 너무 잘보고있습니다. 컨테이너 개념은 조금 이해가가는데 호스트컴퓨터는 지금 강의에서 우리 각각 개인의pc 라고 이해 하면 될까요 ?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
EC2 콘솔에서 vi compose.yml 파일에서 입력시 문제 발생
위 사진 처럼 타이핑을 치면 타이핑 친 내용이 보이지 않는 문제가 발생하고 있는데 해결하는 방법을 알려주실수있으실까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
디렉토리를 만들고 -v 옵션 사용 시
kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx (algorithmMac) $ ls kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx (algorithmMac) $ mkdir mariadbEx_data kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx (algorithmMac) $ ls mariadbEx_data kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx (algorithmMac) $ cd mariadbEx_data kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx/mariadbEx_data (algorithmMac) $ vi empty.txt kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx/mariadbEx_data (algorithmMac) $ ls empty.txt $ docker run -v /Users/kimhj/desktop/bootProjectEx/dockerStudy/docker-mariadbEx/mariadbEx_data:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=1234 -d -p 3307:3306 mariadb 68669f8d37eb3f6dcff172cca30174958796351621cda19cd0eeff502094f8a2 kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx/mariadbEx_data (algorithmMac) $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 68669f8d37eb mariadb "docker-entrypoint.s…" 5 seconds ago Up 5 seconds 0.0.0.0:3307->3306/tcp great_hawking 위 코드 처럼 디렉토리를 미리 생성하여 그 디렉토리에 empty.txt를 작성한 후-v 옵션을 통해 실행시키니 강의의 흐름과 달리디렉토리에 mariadb 관련 파일과 empty.txt 가 모두 존재하여 문의 드렸습니다(개인 프로젝트 중 추가적인 공부 목적으로 이 강의를 듣고 있어서 mysql 대신 mariadb를 사용하였습니다)
-
해결됨개발자를 위한 쉬운 도커
[컨테이너 내부에서 개발하기] - volume mount 질문 드려요.
안녕하세요. 틈틈히 강의를 듣고 있습니다. 질문 하나 있어서요. (Node.js, VSCode) 컨테이너 내부에서 개발환경 구성 강의 마지막 쯤에 볼륨은 마운트 된다고 하셨는데, 강의 상에서는 leafy/leafy-frontend 와 마운트 되더라구요. (컨테이너 안에서는 /workspace/leafy/leafy-frontend) 근데 혹시 이 마운트 되는 경로를 따로 설정으로 바꿀 수 있을거 같은데 .. 어떻게 하면 될까요? (예를 들면 leafy-frontend <-> /workspace/leafy-frontend 이렇게요.) 안녕하세요. 데브위키입니다.강의에 포함된 내용이 아니더라도 강의를 듣다가 궁금하신 점이 생기시면 부담없이 편하게 질문해주세요. 실습에 오류가 발생했거나 명령어가 예상한대로 실행되지 않으신 경우 사용하시는 OS 환경과 화면을 캡처해서 보내주시면 빠르고 자세하게 답변을 드릴 수 있습니다. 질문은 가능한 빠르게 답변 드리겠습니다. 😀감사합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
컴퓨터 보안 관련해서 궁금한게 있습니다!
지금 컨테이너에 대한 설명을 듣고 있는데 컴퓨터 안에 분리된 환경이 컨테이너라고 배웠는데 만약 컴퓨터가 해킹되면 다른 컨테이너도 영향을 받는건가요?