묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 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나 다른 대안이 있는지도 궁금합니다.감사합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
최종적으로 springboot+mysql+redis 를 compose로 ec2에 실행시
compose up -d --build 를 통해최종적으로 다합해서 시작을했는데 에러가 뜨는게아니라 계속 과부하 걸리는지 EC2가 먹통이되더라고요 로컬로해도 계속 메모리부족같은게 뜨면서 프로그램 실행중인거 끄라고 그러는데 뭔가 메모리를 어디서 엄청 잡아먹는거같은데 다른건 다괜찮은데 compose로 mysql이랑 springboot연결하면 그런거같네요
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
Ec2에 도커설치시
$ sudo apt-get update && \ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && \ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \ sudo apt-key fingerprint 0EBFCD88 && \ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \ sudo apt-get update && \ sudo apt-get install -y docker-ce && \ sudo usermod -aG docker ubuntu && \ newgrp docker && \ sudo curl -L "https://github.com/docker/compose/releases/download/2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \ sudo chmod +x /usr/local/bin/docker-compose && \ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose이걸 따라 치면된다고해서 하는건 이해했는데 추후 ubuntu에 실제로 도커를 깔아야할떄 저 명령어를 항상 복붙하기 힘들거같은데 도커공식사이트나 구글링했을떄 뭔가 방법들이 강의와 다르게 알려주는데 차이를 모르겠고 어떤걸 써야되고 뭐가 다른지도 좀 이해가 안가는데 정확하게 도커를 설치방법을 알수있는건 어떻게 알수있을까요
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
로드맵 강의 순서
https://inf.run/LdN8o여기 링크에 나온로드맵 상세보기총 12개 코스이거 위에서 부터 아래 순서로 들어야 되는게 맞나요? 아니면 딱히 상관없나요? 아니라면 순서 좀 정해주세요
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
강의자료 문의
안녕하세요.저는 pdf 에 필기를 하며 공부를 하는 편입니다.강의 자료를 pdf 파일로 공유 가능한지 문의 드립니다.가능하시면, k8s 와 nginx 강의도 부탁드립니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker windows host -> ubuntu COPY 불가 현상
강사님 강의 잘 듣고 있습니다. 다름이 아닌 저는 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에 없는 기능같아 보입니다. 혹시 관련 문제에 대한 답변 가능하실까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
dockerfile build 질문
docker build -t my-jdk17-server .명령어 실행했는데 선생님처럼 my-jdk17-server 이미지만 생성되는게 아니라openjdk:17-jdk 이미지까지 자꾸 생성이 되는데 왜 그런지 이유가 궁금합니다!
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
PostgreSql permission 에러
안녕하세요.실습을 진행하는 도중에 권한 문제와 관련된 에러를 만났습니다.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
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
도커 설치
안녕하세요. 작성해주신 게시글을 보고 도커를 세팅하고 있습니다.일단 도커 설치는 완료하였습니다.이후 wsl 커널 업데이트를 하라고 써있는데 저는 wsl 업데이트 안내창도 안나오고 powershell에서 docker pull nginx를 입력했을때 정상적으로 작동이 됩니다. 이러면 커널 업데이트를 안해줘도 되는건가요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
로컬과 ec2에서 같이 실행이 안되나요?
기존 로컬에서 mysql+spring 프로젝트에 해당 강의 영상을 보며 적용하고 있었습니다. compose.yml 설정을 하고 application.yml 설정까지 하니 localhost -> my-db 로 바뀌어서 그런지,,로컬에서는 db 연결이 실패했다고 뜨는데요 (ec2 인스턴스에서는 실행 됩니다) 정상적인 것인지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
application.yml 변경 후 ecr push 시 변경내역 업데이트
스프링부트 기본 포트인 8080에서 80으로 변경하고 싶어. application.yml 설정에서 port:80 변경 후 다시 push 하였는데요. .gradlew clean buildaws 로그인docker compose up -d --builddocker push "url" 그런데 이렇게 이미 존재한 이미지라고 뜹니다. 0e05aa91b84c: Layer already exists 빌드 시 .yml이 변경되면 .jar 파일도 변경되어 이미지가 새로 push되어야 하지 않나요?이 부분 때문에 며칠 고민 하고 있어서 질문드립니다...
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
도커 설치 명령어 (해결 되었습니다. )
안녕하세요. 수업 자료에 있는 도커 설치 명령어를 복사 붙여넣기 했는데 설치가 안되고 command not found 라는 답만 나옵니다. 왜 이러는 걸까요? 감사합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
도커 컴포즈 질문있습니다.
안녕하세요.현재 Docker Compose를 활용하여 여러 개의 컨테이너를 다루는 강의를 수강 중입니다. 섹션 6, "Docker Compose를 활용해 2개 이상의 컨테이너 관리하기"의 마지막 파트를 듣고 있습니다.다름이 아니라, 강의를 따라 실습하던 중 궁금한 점이 생겨 이렇게 문의드립니다.현재 Docker 환경에는 DB와 Redis가 구성되어 있는데요,$ ./gradlew clean build$ docker compose down $ docker compose up --build -d위와 같은 순서로 명령어를 실행하였습니다.여기서 ./gradlew clean까지는 이해가 되지만, gradlew build를 실행하면 아직 DB가 연결되지 않은 상태에서 JAR 파일이 빌드되는 것이므로 오류가 발생해야 하는 게 아닌가 하는 의문이 들었습니다.그래서 오히려 docker compose up --build -d 명령어로 컨테이너를 먼저 실행시킨 다음에, ./gradlew clean build를 실행하는 것이 더 맞는 순서가 아닐까 하는 생각이 드는데요.혹시 이에 대해 설명해주실 수 있을까요?감사합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
window 환경에서 vi 명령어
안녕하세요. Window환경에서 PowerShell 사용해서 수업을 듣고있습니다 🙂 vi 명령어 대신 notepad empty.txt 이렇게 사용하고 있는데 혹시 다른 명령어를 쓰는게 좋을까요 ? 그리고 윈도우환경에서 PowerShelll 말고 리눅스 환경으로 실습할 수 있는 방법은 없나요 ... ?