inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

컨테이너 개념

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

컨테이너는 하나의 컴퓨터 내에서 독립적인 환경으로 구성된 미니 컴퓨터라고 설명을 해주셨습니다. 그러면 하나의 컨테이너에는 하나의 프로그램만 운영할 수 있나요 ? 왜냐하면 각 컨테이너는 고유의 ip, port 번호를 할당받으니까 이러한 궁금증이 생기게 되었습니다.

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
병훈 댓글 1 좋아요 0 조회수 195

만약 배포가 아니라 단순히 팀원들간 로컬 환경 구축이 목적이라면

해결됨

비전공자도 이해할 수 있는 Docker 입문/실전

DockerFile은 필요 없나요? 로컬 환경에서 모든 팀원들이 같은 버전의 기술들을 이용하여 개발을 진행하고 싶다고 가정하면 docker-compose.yml만 작성하면 되는 게 맞을까요 ? ? 영상을 열심히 보긴 했는데.. 아직도 어렵네요 ㅠㅠ

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
수하 댓글 1 좋아요 0 조회수 124

docker image ls

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

안녕하세요! docker 강의 정말 잘 듣고 있습니다! 처음에 docker pull nginx를 실행하고 docker image ls를 사용하여 현재 다운받은 이미지들을 조회하면 잘 나왔습니다! 하지만 이 세션을 다 듣고 복습을 하면서 docker pull nginx를 하면 다음과 같은 로고가 뜨고 docker image ls로 조회를 해도 나오지 않습니다. 하지만 조회할땐 아무것도 나오지 않지만 docker create nginx를 하면 정상적으로 컨테이너가 생성이 됩니다... 무슨 이유인지 잘 모르겠습니다 ㅠㅠ docker run 명령어로 이미지를 다운과 동시에 컨테이너를 생성하고부터 이렇게 된거 같습니다. 현재 docker pull nginx를 하면 다음과 같은 로고가 뜹니다 Using default tag: latest latest: Pulling from library/nginx Digest: sha256:fb197595ebe76b9c0c14ab68159fd3c08bd067ec62300583543f0ebda353b5be Status: Image is up to date for nginx:latest docker.io/library/nginx:latest What's next: View a summary of image vulnerabilities and recommendations → docker scout quickview nginx

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
장재현 댓글 1 좋아요 0 조회수 173

마지막 docker compose up -d후 버퍼링이 심합니다.

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

저는 조이프로젝트 를 진행 중이고, 초반에는 Redis , MySQL , Jasypt , 그리고 회원 CRUD 정도만 구현한 상태입니다. 현재 도커를 이용해 배포 중인데, 배포 과정에서 문제가 발생하고 있습니다. 문제 발생 : EC2에서 MySQL , Redis , Spring 을 배포할 때, docker compose up 을 실행하면 테스트와 체크 는 정상적으로 이루어집니다. 그러나 서버가 실제로 구동되지 않음 . EC2 자체의 성능 문제가 발생하여, 로그 확인 을 위해 docker logs 를 실행하려 할 때 렉 이 너무 심해집니다. 상황 : 배포 과정에서 동시 올리기 작업을 마지막에 시도하고 있는데, 이때 EC2 성능 저하 가 심해지고, CPU 사용량 이 50% ~ 100% 사이로 왔다 갔다 하면서 렉 이 발생합니다. 의문점 : 프리티어 인스턴스 의 1GB RAM , CPU 성능 문제 때문인지 의심됩니다. CPU 사용량이 높은 상태에서, 이러한 렉 현상 을 해결하려면 어떻게 해야 할지 궁금합니다.

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
박지훈 댓글 3 좋아요 0 조회수 292

윈도우 환경에서 실행하는데 보이지 않습니다.

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

안녕하세요 강사님 해당 강의 내용을 따라가는데 제 터미널 환경에서는 volume에 관한 정보를 확인할 수가 없습니다 컨테이너는 정상적으로 실행되고 이제 mysql_data도 생성되는데 안이 비어있더라고요.. git bash, powershell, cmd 3개의 환경에서 해봣는데 문제를 해결할 수가 없었습니다...

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
쿠크다그 댓글 2 좋아요 0 조회수 420

JDBCConnectionException 가 납니다.

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 2024-10-09T14:59:40.805Z WARN 1 --- [ main] o.h.e.j.e.i.JdbcEnvironmentInitiator : HHH000342: Could not obtain connection to query metadata org.hibernate.exception.JDBCConnectionException: unable to obtain isolated JDBC connection [Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.] [n/a] at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:100) ~[hibernate-core-6.5.3.Final.jar!/:6.5.3.Final] at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58) ~[hibernate-core-6.5.3.Final.jar!/:6.5.3.Final] at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108) ~[hibernate-core-6.5.3.Final.jar!/:6.5.3.Final] at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:94) ~[hibernate-core-6.5.3.Final.jar!/:6.5.3.Final] at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:116) ~[hibernate-core-6.5.3.Final.jar!/:6.5.3.Final] 안녕하세요. 강사님. 늘 퀄리티 좋은 강의 감사드립니다. 섹션 6. Docker Compose를 활용해 2개 이상의 컨테이너 관리기 에서 스프링부트와 MySQL을 동시에 띄워보는데 위와 같은 예외가 나서 문의드립니다. application.yml 에서 url: jdbc:mysql://my-db:3306/mydb 로 바꿔도 같은 상황입니다. 이후 계속 시도를 하다가, build.gradle 에 있는 jpa관련 의존성을 빼고 도커를 올리니 성공하였습니다. 그리고 다시 도커를 내리고 jpa의존성을 다시 추가하고 도커를 올리니 이제는 redis까지 올려서 운용 중입니다. 하지만 원인이 궁금하여 이렇게 문의 남깁니다. 감사합니다.

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
안냥냥쓰 댓글 2 좋아요 0 조회수 1896

인바운드 보안 그룹 규칙

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

안녕하세요. 항상 감사합니다. 다름아니라 프론트엔드 개발자(ionic+react+typescript)님과 처음 협업을 하는데요!(레포지토리가 fe, be 따로 존재합니다.) api를 개발해서 전달해드려야 하는데 프론트엔드 개발자님께서 springboot를 로컬에서 실행하시기 어려우실것 같아 제가 일단 배포를 하여 전달드리려고 합니다. ( EC2에서 Docker를 활용한 배포 방법을 사용하려합니다.) 질문: 1. 이때 ec2 인바운드 보안 그룹 규칙은 ssh, http(80)만 해주면 될까요? tcp(프론트엔드 개발자님의 포트(아마도 8100번))또한 추가해야 하는 부분일까요? 2. Nginx, Certbot를 활용해 리버스 프록시를 설정한다면 해당 포트번호도 ec2 인바운드 보안 그룹에 tcp로 추가해야 할까요? 3. 백엔드 개발자는 프론트엔드 개발자에게 api를 제공할때 위에 말씀드린 방식으로 진행하는지 여쭙고 싶습니다. 경험이 부족하여 질문이 이상할 수 있는점 양해바랍니다. 감사합니다. +추가) 일단 docker compose로 ec2에서 빌드까지 했는데요. 보안그룹을 모든tcp 0.0.0.0에서 하니깐 잘 돌아갑니다. 하지만 모든tcp를 제거하고 http 80과 https 433을 추가하면 "ERR_CONNECTION_REFUSED"라고 하고 접근이 안되네요. 여기서 http 8080을 추가하면 또 잘되네요. 프로젝트를 할때 모든 tcp로 하면 안된다고 하셨는데 안전하게 프로젝트를 할 수 있는 방법을 여쭙고 싶습니다.

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
Bax 댓글 2 좋아요 0 조회수 245

Spring Web 의존성을 추가했는데도 intelliJ에서 @RestController 인식이 안 됩니다

해결됨

비전공자도 이해할 수 있는 Docker 입문/실전

안녕하세요 '[실습] 백엔드 프로젝트(Spring Boot) 프로젝트를 Docker로 실행시키기'에서 그대로 따라 했는데 이렇게 RestController가 인식이 안 됩니다 build.gradle이고 이걸 다시 run했는데 동일합니다 아래는 run 후 콘솔에 찍히는 내용입니다 확인 후 답변 부탁드립니다! 오후 4:51:31: Executing... > Task :help Welcome to Gradle 8.10.1. To run a build, run gradle <task> ... To see a list of available tasks, run gradle tasks To see more detail about a task, run gradle help --task <task> To see a list of command-line options, run gradle --help For more detail on using Gradle, see https://docs.gradle.org/8.10.1/userguide/command_line_interface.html For troubleshooting, visit https://help.gradle.org Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.10.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD SUCCESSFUL in 451ms 1 actionable task: 1 executed 오후 4:51:32: Execution finished. 시키기

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
댓글 2 좋아요 0 조회수 230

workdir 대신에 RUN mkdir /directory COPY 상대경로 /directory/복사할파일 이런식으로 구현해도 되나요 ?

해결됨

비전공자도 이해할 수 있는 Docker 입문/실전

둘 중 뭐가 보편적으로 사용되는 편인지 궁금합니다! 1번 사안 WORKDIR /directory 2번 사안 RUN mkdir /directory COPY [복사할 파일의 상대경로] [/directory/복사할 파일]

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
수하 댓글 2 좋아요 0 조회수 328

mysql 비밀번호 바꾸기 위해 호스트 저장공간을 지우면 기존의 데이터도 날라가는 게 아닌가요 ?

해결됨

비전공자도 이해할 수 있는 Docker 입문/실전

[실습] Docker로 MySQL 실행시켜보기 - 3 에서 마지막쯤에 비밀번호 바꾸기 위해서 기존의 비밀번호로 mysql 접속 후 비밀번호 바꾸기 호스트 저장 공간에서 파일들 삭제하기 둘 중 하나를 선택하여 비밀번호 바꿀 수 있다고 하셨습니다! 근데 고민되는 부분이 호스트 저장 공간에서 파일들 삭제해서 새로운 비밀번호로 덮어씌우게 된다면 이건 볼륨의 역할을 활용하지 못한 경우가 아닌가 하는 생각이 들어서요.. 결국 볼륨이란건 호스트 저장 공간의 파일 = 컨테이너 내부의 저장 공간 파일이 동기화되어야 하는 건데 호스트 저장 공간 파일 지우고 새롭게 만드는 거면 결국 컨테이너 삭제 생성하는 것과 다를 게 없지 않나요?? 그럼 결국 볼륨의 특성을 살리면서 mysql의 비밀번호를 변경하려면 1번 방법으로 실행할 수 밖에 없는건지 궁금합니다.. ㅠㅠ

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
수하 댓글 2 좋아요 0 조회수 231

Access denied for user 'root'@'localhost' (using password: YES)

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

https://www.inflearn.com/community/questions/1364596/access-denied-for-user-root-localhost-using-password-yes 위 글에서 재성님이 제시해주신 해결방법을 적용해보았습니다. 하지만 여전히 root 계정에 접속이 안됩니다. docker compose down -v 명령어를 통해 볼륨을 제거해도 여전히 해결이 안됩니다. 스프링부트 역시 데이터베이스와 연결되지 않았다는 오류가 로그에 남습니다.

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
이승욱 댓글 1 좋아요 0 조회수 164

Docker compose 관련 질문입니다

해결됨

비전공자도 이해할 수 있는 Docker 입문/실전

안녕하세요 재성님! 좋은 강의 너무 잘 듣고 있습니다. 다름이 아니라 재성님 강의를 듣고 제 프로젝트에 spring boot mysql 을 함께 컴포즈 파일로 작성하고 있는데 localhost:8080 으로 접속하 org.springframework.web.servlet.resource.NoResourceFoundException: No static resource . 이라는 에러 문구가 나옵니다. 현재 프로젝트에서는.html 파일을 전혀 사용하지 않아서 이 에러의 원인을 잘 못찾고 있습니다. docker-compose 파일 첨부합니다. 감사합니다. services: my-server: build: . ports: - 8080:8080 # my-db의 컨테이너가 생성되고 healthy 하다고 판단 될 때, 해당 컨테이너를 생성한다. depends_on: my-db: condition: service_healthy my-db: image: mysql environment: MYSQL_ROOT_PASSWORD: 저희 비밀번호 MYSQL_DATABASE: mydb # MySQL 최초 실행 시 mydb라는 데이터베이스를 생성해준다. volumes: - ./mysql_data:/var/lib/mysql ports: - 3306:3306 healthcheck: test: [ "CMD", "mysqladmin", "ping" ] # MySQL이 healthy(정상 작동 하는지)한 지 판단할 수 있는 명령어 interval: 5s # 5초 간격으로 체크 retries: 10 # 10번까지 재시도

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
jd 댓글 2 좋아요 0 조회수 340

Access denied for user ‘root’@’localhost’ (using password:YES)

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

compose.yml services: instagram-server: image: 420787877062.dkr.ecr.ap-northeast-2.amazonaws.com/instargram-server ports: - 8080:8080 depends_on: my-db: condition: service_healthy my-cache-server: condition: service_healthy my-db: image: mysql environment: MYSQL_ROOT_PASSWORD: 00000000 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 이렇게 yml을 설정하고 docker inspect 명령어를 사용하여 mysql 정보를 gpt 한테 물어봤더니 아래와 같은 답변이 있었습니다. 현재 MySQL 컨테이너의 상태는 “healthy”로 보이며, 전체적으로 Docker Compose 설정이 잘 작동하고 있다. 하지만 MySQL의 Healthcheck가 Access denied for user 'root'@' localhost ' (using password: YES) 오류 메시지를 출력하고 있다. 이는 MySQL이 root 사용자로 접속을 시도할 때 비밀번호 인증에 실패했다는 것을 의미한다. 이를 해결하기 위해서, 비밀번호를 ' 로 감싸서 String으로 인식하도록 유도 하기도 했지만 여전히 문제는 해결되지 않고 있습니다. 구글링을 해본 결과 도커 볼륨과 연관있는 것 같지만 정확한 이유를 모르겠습니다.

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
이승욱 댓글 1 좋아요 0 조회수 424

스프링부트,Mysql작업시 빌드

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

안녕하세요 강의 듣다 궁금한 점이 생겨서 질문 남깁니다 ! 스프링 부트,mysql 을 이용하여 프로젝트 작업 진행하기 위해 작업 진행전 docker로 초기 환경 세팅을 하고 두가지 동시에 띄우는 작업을 했습니다! 도커 연결전에는 IDE에서 run버튼을 눌러 작업 확인을 했었는데, 지금은 빌드 하고, compose up해서 확인을 해야하는걸까요? run버튼 누르니까 에러가 뜹니다.

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
  • springboot
  • mysql
새벽노트 댓글 1 좋아요 0 조회수 310

docker에서 mysql 종료하니까 workbench가이렇게 되는데

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

어떡하죠? ㅠ 들어갈때 원래 비밀번호가 root123이었는데 이번에 password123으로 바뀌고 스키마있던게 다 사라졌어요 ㅠ

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
조현성 댓글 1 좋아요 0 조회수 378

nginx가 하는일이 뭔지 궁금합니다

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

제가 react로 프론트서버만들고 node.js mongodb로 백엔드 서버 만드는건 해봤는데 이거면 충분한거 아닌가요? nginx수업은 아니지만 다른설명봤는데 이해하나도 안가서... 죄송합니다 이해가 잘 안가서 여쭤봅니다 ㅠㅠ

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
조현성 댓글 1 좋아요 0 조회수 391

wsl 환경으로 작업중인데

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

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.pem 2024-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이 아닌 그냥 윈도우 터미널로 실행했을때는 정상 작동 하엿습니다 어떻게 해결할까요??

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
jamsiman11 댓글 2 좋아요 0 조회수 504

호스트경로/mysql_data경로 질문

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

안녕하세요 mysql_data는 어떤 역할하고 있는지 궁금합니다. mysql_data를 없이 docker에 mysql를 넣었는데 실행이 중단되고 아래와 같은 오류가 나와서 이유를 알고싶습니다 그리고 항상 docker에 mysql에 호스트 내부에 파일을 저장할때 새로운 my_data의 이름이 아니여도 다른 파일경로를 지정을 해줘야하는건가요?

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
댓글 3 좋아요 0 조회수 566

프론트엔드 배포 관련해서 질문 있습니다.

해결됨

비전공자도 이해할 수 있는 Docker 입문/실전

안녕하세요. 쉽고 재미있게 강의 만들어주셔서 잘 보며 공부하고 있습니다! 강의 듣던 중에 하나 궁금한 점이 있어서 질문을 남기게 됐는데요. 현재 Next.js로 프론트엔드 프로젝트를 하는데 AWS의 어떤 서비스로 배포를 하는게 좋을까 고민중입니다. 강의에서 EC2는 보통 백엔드에 사용한다고 하셔서요! S3는 보통 정적인 사이트를 배포할 때 사용하는 것으로 알고 있는데 SSR 서비스 배포 시에는 어떤 서비스로 배포하는걸 추천하시나요?

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
soceu 댓글 1 좋아요 0 조회수 270

rm -rf mysql_data

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

10:55 초 쯤 rm -rf mysql_data 로 하고 다시세팅하면 기존에 디비들이 다 삭제되고 초기화 되는거 아닌가요 !!?

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
H K 댓글 1 좋아요 0 조회수 251

인기 태그

인프런 TOP Writers

주간 인기글