묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
퍼블릭 IP 연결 거부
자꾸 위와 같은 오류가 뜹니다. 보안 그룹은 아래와 같이 되어있는데 뭐가 문제일까요..
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
도커불륨 mysql_data
이것저것 해보다 궁금한게 있습니다 ㅇㅅㅇ로컬에서 볼륨 디렉토리가 없을때컨테이너에서 볼륨 데이터를 덮어쓰는것 까지 이해를했는데요. 강의에서 볼륨 mysql_data로 설정을 해주잖아요. 그래서 컨터이너의 볼륨의 데이터들이 로컬에서 mysql_data 디렉토리를 만들고 그 데이터들이 호스트의 mysql_data에들어가는데 여기서 궁금합니다. 컨테이너에는 mysql_data 디렉토리는 보이지 않는데 컨테이너 입장에서는 어디에서 로컬과 연결된 볼륨의 디렉토리 위치을 어떻게 할 수 있을까요. ㅇㅅㅇ;;
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
실습시 docker desktop 대신 할 프로그램
안녕하세요 docker 설치를 진행했더니, 사내PC에 라이센스 관련 이슈로 설치가 불가하다고 합니다.혹시 해당 프로그램 대신 다른 프로그램으로 대체가 가능한지 문의드립니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
godev
안녕하세요. 쓸때 없이 궁금한게 있어.. 질문드립니다.어떻게 cd download 위치에서 godev를 쓰니깐 도큐먼트/디벨로퍼로 이동 하는게 어떻게 가능한지 궁금합니다..ㅇㅅㅇ저도 같은 디렉토리 구조에 폴더를 만들어 봤는데도 안되더라고요. 따로 명령어를 만드신것 같은데 맞습니까?ㅇㅅㅇ
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
기본 포트 80인가요?
80번 포트에 대해서 이해가 잘 안갑니다.제가 느끼기에는 80번 포트가 호스트 컴퓨터오 연결되어 있고그거에 대해서 접근할 수 있는 4000번 포트를 연결 해주는 느낌이라고 생각했는데 좀.. 완전 제가 이해를 잘못하는것 같습니다. 사용자와 호스트컴퓨터 80포트, 4000포트에 대하여 설명 부탁드립니다.ㅠ중요한 개념 같은데..마지막으로 이게 포트포워딩 같은 개념인가요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
터미널 어떤거 쓰시나요.
도커를 처음 배우는 수강생입니다!.강사님 수업 하나 하나 따라가고 있는데저도 맥 사용자인데 제 맥북에서 터미널을 흰 바탕에 검은 글씨 밖게 없는데강사님 처럼 폰트나 터미널을 같게 세팅하고 싶습니다 !어떻게 세팅하면 되는지 알려주세용~수업 즐겁게 잘 따라가보겠습니다 !
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
파일이 생성까진 되는데 실행하려면 자꾸 컨테이너가 꺼집니다
윈도우 환경에서 wsl 안에서 사용하고 있는데 어떻게 조치해야될까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
sudo lsof -i:3306 입력을 했는데 다른 말이 나옵니다.
안녕하세요 선생님윈도우 11 사용중인 학생인데sudo lsof -i:3306을 입력했더니 처음에는 Sudo가 이 컴퓨터에서 사용하지 않도록 설정되어 있습니다. 사용하도록 설정하려면 으로 이동하세요. Developer Settings page 설정 앱의이런식으로 나와서 검색해보니 sudo를 활성화 시켜야한다고해서 sudo를 활성화 시킨뒤 인라인모드로 설정을 했습니다.이 후에 실행하니 명령을 찾을 수 없음 이라고 나오고sudo config --enable normal을 쳐보라해서 쳐보니 Sudo는 현재 이 컴퓨터에서 인라인 모드입니다. 이렇게만 나오는데 이건 어떻게 해결해야할까요??
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
죄송합니다 섹션8 답변을 봐도 이해가안되서요
섹션 6에서 스프링부트,mysql,redis를 컨테이너 동시에 띄워보기에서services: my-server: build: . ports: - 8080:8080 depends_on: my-db: condition: service_healthy my-cache-server: condition: service_healthy my-db: image: mysql:8.0 environment: MYSQL_DATABASE: mydb # MySQL 최초 실행 시 mydb라는 데이터베이스를 생성해준다. MYSQL_ROOT_PASSWORD: pwd1234 volumes: - ./mysql_data:/var/lib/mysql ports: - 3306:3306 healthcheck: test: ["CMD","mysqladmin","ping"] interval: 5s retries: 10 my-cache-server: image: redis ports: - 6379:6379 healthcheck: test: ["CMD","redis-cli","ping"] interval: 5s retries: 10 spring: datasource: url: jdbc:mysql://my-db:3306/mydb username: root password: pwd1234 driver-class-name: com.mysql.cj.jdbc.Driver data: redis: host: my-cache-server port: 6379 이렇게 설정을하면그림대로 컨테이너가 3개가 띄워지고 서로 연결이되서 JPA를 사용해서 mysql에 데이터를 넣을수있는 구조거나 아무튼 applicaion.yml에 연결을 해놔서 서로 잘 연결되는건 이해를 했습니다. 그런데 섹션8은1.스프링부트를 이미지로 만든다2.그 이미지를 ec2에서 받아서 배포를한다 인데여기서 ec2에서 직접 mkdir instagram-server 폴더를 만들고 그 안에 compose.yml을 직접 만드신후services: instagram-server: image: 002177417362.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server:latest ports: - 8080:8080 depends_on: my-db: condition: service_healthy my-cache-server: condition: service_healthy 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 my-cache-server: image: redis ports: - 6379:6379 healthcheck: test: [ "CMD", "redis-cli", "ping" ] interval: 5s retries: 10이렇게 적으셨잖아요 이러면 mysql,redis도 같이 배포되는건 이해를했다만 1.섹션8스프링부트에서는 applicaion.yml에서 섹션 6처럼 디비 연동한것도없으니서로 연결(mysql,redis,스프링부트)이안되어있는상태인가요? 2.그리고 섹션8 스프링부트에서는 간단한 api만 만들어서 테스트를했는데섹션6에서 만든 프로젝트를 섹션8처럼 배포를한다고하면 applicaion.yml,compose.yml은 삭제해야하나요?3.섹션8 프로젝트에서 applicaion.yml에 mysql db연동하고 jpa를 사용해서 DB에 데이터를 넣고뺴고,compose.yml에 서 컨테이너를 생성하고 이걸 로컬에서 한다고 하면 aws에 배포를 어떻게 해야하나요? aws rds 사용한다고하면 이 mysql을 컨테이너로 띄우는게 틀린걸까요?... 섹션6 스프링부트,mysql,redis를 컨테이너 동시에 띄워보기 이거를 aws에 배포하는걸 보면 바로 이해할것같은데 알방법이 있을까요?ㅠ
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
섹션9부분이 조금 이해가안되서요
첫번쨰 질문:섹션9에서하는게 지금내가 만든 프로젝트를 aws ECR에 이미지로 올리고그 이미지로 만든 프로젝트를 aws에 배포를해서 사용자들이 사용하게 한다 결국 이거맞나요? 두번쨰 질문 섹션9에서 ec2에서 compose.yml을 적어서 컨테이너를 추가하는데 이렇게말고스프링부트 프로젝트에서 compose.yml 파일 추가해서 이미지로 한번에 만들고 배포해도 똑같은건가요? 여기가 이해가안됩니다. 그전에는 스프링부트에서 compose.yml을 추가하고 컨테이너를 여러개 띄웠는데 지금은 aws에서 직접 compose.yml을 만드는게.. 세번쨰 질문 그전에 했던 실습에는 스프링부트안에 application.yml 에 이렇게적었는데spring: datasource: url: jdbc:mysql://my-db:3306/mydb username: root password: pwd1234 driver-class-name: com.mysql.cj.jdbc.Driver data: redis: host: my-cache-server port: 6379 섹션 9처럼 aws ec2에 직접 compose.yml을 적으면 저렇게 appclication.yml은 없는데 상관없이 mysql 워크벤치같은곳에서 사용이가능한가요?
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
안녕하세요 도커 컴포즈쪽 듣고있다가 문뜩
궁금한점이 생겨서 질문드립니다. 학부생떄 수업으로 docker들었을때 이런 ui 사용했던거같은데 이 강의에서는 터미널로만 계속 진행하나요?저 데스크탑은 사용안하는지요
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
container 와 image 사이의 관계 질문
안녕하세요비전공자로 AI 관련 공부를 하면서 기본적인 도커 지식의 필요성을 느껴서 공부하고 있습니다. 실습하면서 궁금한 점이 생겼는대 docker run nginx 해서 container 를 생성해서 image 가 띄워진 것을 확인하고 docker stop 하고 docker rm 해서 해당 container 를 삭제하고 나서 docker image ls 확인해보니까 image 는 남아있습니다. container 삭제와 그 container 에 띄워져 있던 image 가 같이 삭제되지 않는것 처럼 보이는데 이걸 어떻게 이해하는게 좋을까요 너무 쓸데 없을 수 있는 질문 같아 죄송합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
[실습] 백엔드 프로젝트(Spring Boot) 프로젝트를 Docker로 실행시키기 <--자바실행오류
안녕하세요 강사님, 강의 너무 잘듣고 있습니다, 자바 실행에서 코파일럿으로 해결해보려고해도 잘 모르겠는데요 무엇을 다시 해야할까요? 현재기준으로 스프링부트 버전은 3.5.3으로 강의의 버전과 다르긴했구요 의존성 2개는 그대로 추가했습니다
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker AWS EC2 Redis,Mysql를 통한 배포
안녕하세요 강사님 제가 강사님 강의를 즐겨듣는 수강생입니다.질문1)제가 채팅과 로그인 에 관해서 서버 배포를 하고 싶은데 채팅내용이나 이런거는 Redis를 이용해 배포하고 로그인 회원가입등은 Mysql 을 이용한다고 가정했을 때 Redis는 RDS를 이용하는 게 나을까요?-- 이 부분이 아예 감이 안 잡혀서 구조 한번만 설명좀 해 주시면 감사하겠습니다. 질문2) 만약 협업 프로젝트를 한다고 가정하면 EC2에 직접 들어가서 compose.yml을 작성하는 거 외에는 답이 없을까요? (제가 만약 채팅을 담당한다고 가정했을때 질문1)과 연관지어서 설명좀 해 주시면 감사하겠습니다. 현업에서는 어떻게 하는 건가요? 일단 CI/CD를 들어볼 예정입니다.)
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker html 하고 css 같이 올리는 거 문제가 생깁니다.
안녕하세요 강사님 그 html css 를 로컬에서 돌리는데 자꾸 nginx 이 화면만 나와가지고 문제가 발생합니다.(시크릿 창 새로고침 해봤습니다.) 코드는 FROM nginx COPY ./ /usr/share/nginx/html <!DOCTYPE html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css"> </head> <body> <h1>My Web Page</h1> </body> </html>index.html *{ color:blue; }style.css pdf 에 있는 대로 해도 오류가 그대로 뜹니다... ㅠㅠ 도와주세요
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
EC2의 docker compose up에서는 localhost를 컨테이너 이름으로 변경하지 않아도 왜 잘 돌아가나요?
EC2로 여러 개의 container를 docker compose up으로 배포를 하는 것은, EC2라는 가상의 컴퓨터에서 springboot, mysql, redis container를 실행시키는 것이잖아요. 이전 다른 실습에서는 springboot에서 localhost는 자기 자신의 포트를 가리키기 때문에 docker에서 container의 이름인 my-db와 my-redis-server로 바꿔주어야 한다고 하셨는데, 현재 인텔리제이에서 docker로 빌드한 이미지에는 .properties 파일과 gradle 파일을 맞춰서 작성하지 않았는데, db나 redis를 못찾는다는 에러 없이 왜 잘 돌아가는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker compose up -d --build
안녕하세요![실습] AWS EC2에 Spring Boot 배포하기 수업을 듣다가 궁금한 점이 생겨서 질문드립니다.이전의 강의에서 docker compose -d --build여기서 --build 옵션은 코드가 수정된 것을 실시간으로 반영하기 위해서 컨테이너를 띄울 때 마다 이미지를 매번 새롭게 빌드한다는 뜻이라고 하셨는데요EC2에 스프링 부트를 배포할 때는로컬에서 이미 빌드된 이미지를 ECR 에 push 하고, EC2에서는 그 이미지를 pull 땡겨서 사용하는데컨테이너를 띄울 때 꼭 --build 옵션을 적어줘야 하는건가요?수업하시면서 --build 옵션을 강조하셔서 그 부분이 헷갈려서 여쭤봅니당 또 비슷하게 한가지 궁금한건 compose.yml 파일에build: . 이 아닌 image: <이미지명>이 있을 땐 --build 옵션을 쓰지 않아도 되는걸까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
컨테이너가 생성과 동시에 꺼집니다.
안녕하세요. docker 공부를 하고있는데 redis를 강사님과 똑같이 docker run -d -p 6379:6379 redis 라고 생성했더니 생성은 되나 자동으로 꺼지네요.CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES be795dd1b69f redis "docker-entrypoint.s…" 4 seconds ago Exited (1) 4 seconds ago my-redis ce1e514748c0 redis "docker-entrypoint.s…" 3 minutes ago Exited (1) 3 minutes ago gallant_davinci M1칩 맥북을 사용하고있는데 아키텍처 불일치 문제일 수도 있다고 하여 구글링해서 아래와 같이 입력도 해보았으나 계속 자동으로 꺼집니다..ㅠㅠdocker run --platform linux/arm64 --name test-redis -d -p 6379:6379 redis 전에 Docker Desktop을 깔아두어서 사용중인데 이것때문에 문제가 발생할수도있나요? nginx 이미지를 통해 컨테이너를 생성하면 안꺼지는데 redis, mysql, mariadb같은 데이터베이스 이미지만 사용하면 꺼지네요.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
jar 파일 생성과 컨테이너 생성 순서
이번 강의에서 NestJS는 컨테이너를 생성하면서 npm install + npm run build로 컨테이너 내에서 애플리케이션을 빌드하는 것을 배웠습니다.하지만 왜 Spring Boot는 컨테이너를 생성하기 전에 먼저 빌드를 하고 이 jar 파일을 컨테이너로 복사하는 것인가요?Spring Boot도 NestJS처럼 컨테이너 내에서 빌드하면 docker compose up -d --build 전에 ./gradlew clean build도 생략할 수 있으니 더 편리하지 않을까 싶어 혹시 이유가 있는지 질문 드립니다. 감사합니다.
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
프론트엔드 애플리케이션 EC2 배포 관련 질문입니다.
안녕하세요.EC2 강의를 듣던 중, 프론트엔드 애플리케이션은 주로 CDN을 통해 배포하고, 백엔드 API 서버는 EC2에 배포한다고 설명해주셨는데 이와 관련해 궁금한 점이 있습니다.만약 CSR 기반의 프론트엔드 프로젝트라면, 빌드 후 생성된 정적 파일을 S3에 업로드하고 CloudFront 같은 CDN을 통해 배포하는 방식이 충분하다고 생각합니다.하지만 최근에는 React에서 Server Actions 같은 서버 기능이 도입되고, Next.js 역시 SSR, API Routes 등을 포함하면서 정적 파일만으로 구성되지 않는 경우가 많아지고 있습니다.이런 경우, 프론트엔드 애플리케이션은 어떤 방식으로 어디에 배포하는 것이 적절할까요? CDN만으로는 어려워 보이는데, EC2나 다른 대안이 있는지도 궁금합니다.감사합니다.