inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

도커는 어떤 실무 환경에서 쓰이나요?

해결됨

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

안녕하세요! 좋은 강의 감사드립니다. 덕분에 도커를 쉽게 배울 수 있었고, 실무에 어떻게 활용될 수 있을지 궁금증이 생겨 질문드립니다. 도커는 협업 환경에서 자주 쓰이나요? 저는 아직 협업에서 도커를 직접 사용해본 경험은 없는데, 만약 실제 협업 중 도커를 활용하게 된다면, 배포 시 에러가 발생했을 때 디버깅이 오히려 어려울 수도 있지 않을까? 하는 고민이 있습니다. 그래서 실무에서는 어떤 상황에서 도커를 자주 사용하는지 궁금합니다. 도커는 왜 MSA 환경에 적합하다는 이야기가 많을까요? 찾아보니 도커가 MSA(Microservices Architecture)에 잘 맞는다는 자료들을 종종 보았는데요, 아마도 MSA는 여러 개의 서비스를 따로 운영해야 하다 보니, 각 서비스의 환경 셋팅이나 배포가 많아서 그런 걸까요?

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
바나나 댓글 2 좋아요 1 조회수 318

강사님 Build 구성과 관련한 질문입니다.

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

예제로 주신 CI/CD 와 관련하여 질문이 있어 문의 드립니다. fork 한 강사님의 repository 에는 yaml 만 존재합니다. (build.graldle 또는 java 소스는 존재하지 않음) 현재의 환경에서는 "gradle invoke" 를 통해 어떤 작업을 하는지 이해가 잘 가지 않아서요. 만약 그렇다면 gradle 이 어떤 것을 참조하여 gradle 이 어떤 동작을 질문 드립니다. 좋은 강의 감사드립니다.

  • kubernetes
  • infrastructure
  • container
내일은 한걸음 더 나아갈거야 댓글 2 좋아요 0 조회수 164

Next.js 관련 질문

미해결

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

안녕하세요! Next.js 관련해서 3000번 포트는 이미 사용 중이라 3001번 포트가 사용 가능하다고 나오더라구요. PS C:\Users\USER\Documents\my-app> npm run dev > my-app@0.1.0 dev > next dev --turbopack ⚠ Port 3000 is in use, using available port 3001 instead. ▲ Next.js 15.3.0 (Turbopack) - Local: http://localhost:3001 이건 혹시 그 전에 실습한 node 때문인건가요? ps로 조회하면 "node dist/main.js"가 up 상태입니다! 3000번 포트로 next.js 확인하고 싶으면 node 삭제하고 다시 진행해보면 되나요?

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
박정화 댓글 2 좋아요 0 조회수 158

dockershim 사용관련문의

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

쿠버네티스에서는 CRI규격에 맞춰진 dockershim이 있으니까 docker를 그대로 쓸수있다고 답변을 한다고 하셨습니다. 그게 1.5버전부터 dockershim이 들어갔구요. 그런데 그림을 보면 cri에 잇는 dockershim은 docker컨테이너와의 연결을 위해 필요한건데 강의 그림에서는 1.23이후로 dockershim이 deprecated되면 docker랑 화살표 그려지는 cri구현부부분에 dockershim이 빠지는건데 어떻게 1.24버전부터는 docker 컨테이너 런타임과는 연동을 할수가 없는거 아닌지요? 헷갈리네요

  • kubernetes
  • infrastructure
  • container
odark 댓글 2 좋아요 1 조회수 133

런타임측 contribution

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

구현부는 쿠버네티스 프로젝트에 있는것이고, 이 프로젝트가 오픈소스이니까 각각의 런타임 측에서 docker나 rkt에서 쿠버네티스 프로젝트에 소스를 contribution 하는 형태이다.라고 했는데 쿠버네티스 프로젝트에 각 런타임쪽에서 소스를 만들어서...쿠버네티스 프로젝트로 기부했다는 말씀이신가요? 이해가 잘~~

  • kubernetes
  • infrastructure
  • container
odark 댓글 1 좋아요 1 조회수 63

ECS 환경에서의 ELB 간헐적 504에러

해결됨

AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법

해당 강의를 보고 사내에서 개발서버 인프라구성을 변경중입니다. 해결되지 않는 이슈가 있어서 질문 드립니다. AWS ECS로 배포진행하며, FARGATE가 아닌 EC2(arm64)로 현재 배포중입니다. 로드밸런서(80(443으로 redirect), 443(타겟그룹 전달)) -> 타겟그룹(IP형태의 타겟그룹) -> ECS Task 네트워크 모드는 awsvpc를 사용했으며, task는 private subnet에서 nat gateway와 정상적으로 연결됨을 확인하였습니다. 개발서버로 일부 기능만 내부적으로 테스트 중이라, 트래픽이 거의 없고, task의 CPU와 메모리 사용률은 30%이하를 유지중입니다. 대다수의 트래픽이 정상적으로 통과하지만, 특정 API 호출이 아닌 전반적으로 간헐적으로 로드밸런서에서 504 gateway timeout 이 발생합니다. (타겟그룹엔 정상적으로 healthy 상태로 등록되어 있습니다) ex) 해당 기간내에 health-check 요청만 보내도, 일반적으로 잘 되지만 한번씩 헬스체크 요청조차 504 에러가 발생 기본적으로 잘 접속되지만 간헐적으로 발생하기에 네트워크설정쪽인 NACL이나 보안그룹의 문제는 아닐 것이라고 생각됩니다. nat gateway가 1개이긴하지만 트래픽이 매우 적어 충분할 것 같은데 혹시 가용영역별로 배치를 진행해야 하는걸까요? 혹시 이와 같은 사례를 경험하셨거나 해결방법에 대해 조언을 구하고자 합니다. 운영에서는 아직 ECS를 적용하지않아 EC2로 배포중인데, 해당 로드밸런서는 모니터링에서 504에러가 발생하지 않은 것으로 확인됩니다.

  • aws
  • docker
  • msa
  • container
  • ecs
  • fargate
zerolike 댓글 3 좋아요 0 조회수 412

파일복사 윈도우환경 질문

미해결

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

PS C:\Temp\docker-practice> docker build -t my-server . [+] Building 1.7s (6/6) FINISHED docker:desktop-linux => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 121B 0.0s => [internal] load metadata for docker.io/library/ubuntu:latest 1.6s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load build context 0.0s => => transferring context: 2B 0.0s => CANCELED [1/2] FROM docker.io/library/ubuntu:latest@sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02 0.0s => => resolve docker.io/library/ubuntu:latest@sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02 0.0s => ERROR [2/2] COPY app.txt /app.txt 0.0s ------ > [2/2] COPY app.txt /app.txt: ------ Dockerfile:3 -------------------- 1 | FROM ubuntu 2 | 3 | >>> COPY app.txt /app.txt 4 | 5 | ENTRYPOINT ["/bin/bash", "-c", "sleep 500"] 이런 오류가 뜹니다. 그래서 app.txt를 직접 파일에가서 만들면 안뜨긴하는데 맥이랑 환경이 달라서 그런걸까요?

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
현미녹차 댓글 3 좋아요 0 조회수 174

ENTRYPOINT 오류

미해결

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

안녕하세요. 베이스 이미지 생성할 때 ENETRYPOINT 입력하여도 계속 종료상태로 선생님과 비교해보니 COMMAND 부분이 'jshell'로 나와서 확인했더니 이렇게 조회되었습니다. "Entrypoint": null, Cmd": [ "jshell" 시도 FROM openjdk:17-jdk ENTRYPOINT ["/bin/bash", "-c", "sleep 500"] CMD [ ] CMD [] 입력 후 RUN 실행되었는데, node 컨테이너 내부 들어가서 -v 입력 시 bash-4.4# node -v bash: node: command not found 이렇게 조회가 됩니다.. (windows vscode로 하고 있습니다.)

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
박정화 댓글 2 좋아요 0 조회수 156

docker hub 관련 질문(환경변수 관련)

미해결

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

안녕하세요. 볼륨 마지막 실습 강의 듣고 docker hub 관련해서 궁금한 점이 생겼습니다. 도커허브에서 mongo 설명이 아래처럼 적혀있는데, 실습 시 MONGO_INITDB_ROOT_USERNAME , MONGO_INITDB_ROOT_PASSWORD 입력을 하는 이유는 보안에 대한 환경설정을 따로 하신 것일까요? (보안과 관련된 환경변수 설정은 필수가 아니어도 대부분 하는 편인지 궁금합니다 .. : )) How to use this image Start a mongo server instance $ docker run --name some-mongo -d mongo:tag

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
박정화 댓글 2 좋아요 0 조회수 140

App 배포하기 (helm) - 2232 에서 helm자동인식불가

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

argocd에서 kubeclt배포후 helm배포하기를 해보려는데 git을 선택하면 자동으로 하단에 helm이 선택된다고 하셨는데... 저는 제 경로나 강사님 git 경로 모두 해봐도..자동으로 인식이 되질 않네요...ㅠㅠ 혹시 이유를 확인볼 방법이 있을까요?

  • kubernetes
  • infrastructure
  • container
댓글 3 좋아요 0 조회수 129

프론트와 백 통신

미해결

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

안녕하세요 선생님, 강의 잘 봤습니다. 선생님이께서 알려주신대로, 제가 하고 있는 프로젝트를 local환경에서 compose를 통해 성공적으로 띄웠습니다. 근데 여기서 궁금한 점이 mysql 이나 redis와 같이 spring boot에 연결하는 건 service 이름을 통해 요청을 하는 반면에, 프론트와 백이 통신할 때는 localhost를 사용해서 통신을 합니다. 어떻게 다른 컨테이너에 띄웠는데 localhost로 통신이 되는 지 궁금합니다. (프론트는 vue.js를 node를 이용해서 정적파일로 build 후 nginx 이미지로 만들었습니다.)

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
초보 댓글 3 좋아요 1 조회수 233

도커 볼륨을 사용하는 경우에 대해 질문 있습니다.

해결됨

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

안녕하세요! 강의 실습에서와 같이 바인드 마운트를 사용하는 경우에 1. 호스트 디렉토리 경로에 디렉토리가 이미 존재하는 경우, 호스트 디렉토리의 파일을 컨테이너 경로에 덮어씌움 2.호스트 디렉토리 경로에 디렉토리가 존재하지 않는 경우, 디렉토리를 만들고 컨테이너 경로의 파일들을 호스트 경로에 복사함. 이 두 가지 경우로 나뉘어서 복사되는 규칙이 달라지는데 도커 볼륨을 사용할 때도 동일한 규칙이 적용되나요?? 도커 볼륨에다가 직접 디렉토리를 생성하는 경우는 없을 것 같아서 최초 처음 컨테이너에 볼륨을 연결하는 경우에만 2번으로 동작할 것 같고, 이후에 동일한 볼륨을 다른 컨테이너에 연결할 때는 1번처럼 동작할 것 같은데 맞을까요?

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

이미지 삭제 시 에러

미해결

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

windows powershell로 진행중입니다. 컨테이너 중단 -> 삭제 -> 이미지 삭제 진행 시 docker image rm 이미지id 입력하면 Error response from daemon: No such image ~ 오류가 뜹니다. 강의에서는 이미지 id, 이미지명 두가지 방법으로 모두 삭제가 가능하다고 했는데, 혹시 안되는 이유가 뭘까요?

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
박정화 댓글 2 좋아요 0 조회수 174

k8s 세팅관련하여 질문드립니다

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

설치 과정에서는 문제 없는데 세션연결이랑 대시보드 접속이 안되네요 ip상에 문제가 있는걸까요? 와이파이로 접속된 노트북으로 했는데 공유기로 할당안받은 ip로 해서 문제인걸까요?

  • kubernetes
  • infrastructure
  • container
최성욱 댓글 2 좋아요 1 조회수 131

컨테이너 레이어 질문 있습니다.

해결됨

개발자를 위한 쉬운 도커

안녕하세요! 컨테이너를 처음 실행했을 때는 컨테이너 레이어에는 아무 파일도 존재하지 않는건가요? 만약 처음 컨테이너 레이어에 아무 파일도 존재하지 않는다면 docker -it bin/bash로 컨테이너 내부로 들어가서 보는 파일들은 이미지의 파일들이고, 그 이미지의 파일을 수정하면 컨테이너 레이어로 해당 파일을 복사한 뒤에 수정사항을 반영하는 건가요?(CoW)

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
eoyeong 댓글 1 좋아요 1 조회수 125

volume 관련 부분 mysql로 실행

미해결

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

강의처럼 myDB라는 DB를 만들고 컨테이너 삭제 후, 다시 실행했을때 그 DB가 남아있는지 확인해봤는데 안남아있네요. 아래의 로그는 제가 했을때의 로그입니다! d----- 2025-04-06 오후 11:25 docker-mysql PS C:\Users\icb16\dockervolume> cd docker-mysql PS C:\Users\icb16\dockervolume\docker-mysql> docker run -e MYSQL_ROOT_PASSWORD=password123 -v C:\Users\icb16\dockervolume\docker-mysql -d mysql 24f951c78cbf0dab6bea6b4b8deaf8f29781ae613b3cad782bbf569e44acbda3 PS C:\Users\icb16\dockervolume\docker-mysql> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 24f951c78cbf mysql "docker-entrypoint.s…" 12 seconds ago Up 11 seconds 3306/tcp, 33060/tcp optimistic_elion PS C:\Users\icb16\dockervolume\docker-mysql> docker rm -f 24f951 24f951 PS C:\Users\icb16\dockervolume\docker-mysql> docker run -e MYSQL_ROOT_PASSWORD=password123 -d -p 3306:3306 -v C:\Users\icb16\dockervolume\docker-mysql\mysql_data:\var\lib\mysql -d mysql 068022ff288d2e9b7a4605e1da688688a43a14c9e0c1d31041d86067466d62a2 PS C:\Users\icb16\dockervolume\docker-mysql> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 068022ff288d mysql "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp friendly_hypatia PS C:\Users\icb16\dockervolume\docker-mysql> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 068022ff288d mysql "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp friendly_hypatia PS C:\Users\icb16\dockervolume\docker-mysql> docker exec -it 0680 docker: 'docker exec' requires at least 2 arguments Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] See 'docker exec --help' for more information PS C:\Users\icb16\dockervolume\docker-mysql> docker exec -it 0680 bash bash-5.1# ls '\var\lib\mysql' bin dev etc lib media opt root sbin sys usr afs boot docker-entrypoint-initdb.d home lib64 mnt proc run srv tmp var bash-5.1# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 9.2.0 MySQL Community Server - GPL Copyright (c) 2000, 2025, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases -> ; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.01 sec) mysql> create database myDB -> ; Query OK, 1 row affected (0.01 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | myDB | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) mysql> ^C mysql> ^C mysql> ^C mysql> exit Bye bash-5.1# exit exit PS C:\Users\icb16\dockervolume\docker-mysql> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 068022ff288d mysql "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp friendly_hypatia PS C:\Users\icb16\dockervolume\docker-mysql> docker rm -f 068 068 PS C:\Users\icb16\dockervolume\docker-mysql> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES PS C:\Users\icb16\dockervolume\docker-mysql> docker run -e MYSQL_ROOT_PASSWORD=password123 -d -p 3306:3306 -v C:\Users\icb16\dockervolume\docker-mysql\mysql_data:\var\lib\mysql -d mysql dcb75ed6d3fab0a0a320869e7728179f58299ec0e43b948408c599e8c9ecf089 PS C:\Users\icb16\dockervolume\docker-mysql> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES dcb75ed6d3fa mysql "docker-entrypoint.s…" 14 seconds ago Up 13 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp zealous_spence PS C:\Users\icb16\dockervolume\docker-mysql> docker exec -it dcb7 docker: 'docker exec' requires at least 2 arguments Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] See 'docker exec --help' for more information PS C:\Users\icb16\dockervolume\docker-mysql> docker exec -it dcb7 bash bash-5.1# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 9.2.0 MySQL Community Server - GPL Copyright (c) 2000, 2025, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases -> ; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql>

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

백엔드, 프론트엔드가 나뉘는 경우

미해결

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

안녕하세요 선생님, 명강의 잘 듣고 있습니다. 만약 벡엔드와 프론트엔드가 나뉘는 경우라면, 하나의 EC2에 벡엔드 이미지, 프론트 이미지를 각각 컨테이너에 띄워서 연동해주는 방식으로 만들면 될까요?

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

이미 로컬에 mysql/redis가 설치되어 있을 때 포트매핑

해결됨

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

안녕하세요! 도커는 처음 접해보는데 강의 정말 잘 듣고 있습니다! 이미 로컬에 DB가 설치가 되어 있는 상태면 강사님께서는 호스트의 DB들을 죽인? 후 포트 매핑을 하셨는데 혹시 호스트 포트 번호를 다르게 매핑 해도 되나요? 예를 들어서 docker -run -p 3307:3306 -d mysql 이런 식이거나 docker -run -p 6380:6379 -d redis 이렇게요!

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

리눅스

미해결

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

안녕하세요! 수강전 질문 드립니다 재성님 로드맵에서 도커 배우기 전에 리눅스를 배워야한다고 나와있는데 제가 아직 리눅스를 다뤄본적이 없어서 먼저 리눅스를 배우거 오는 것이 좋을까요??

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
최진욱 댓글 2 좋아요 0 조회수 69

컨테이너 가상화 호스트 OS

해결됨

개발자를 위한 쉬운 도커

안녕하세요! 강의 유익하게 듣고 있는 수강생입니다. 컨테이너 가상화 설명에서 궁금증이 생겨 글 남깁니다. (강의 장면 캡쳐가 불가하여 유사 그림으로 대체합니다!!) 도커는 호스트 OS의 커널을 바로 사용한다는 장점이 있다고 이해했습니다. 이때 여기서 호스트 OS가 리눅스라고 명시되어있는데 mac, windows를 사용하는 일반 사용자들도 호스트 os가 리눅스로 적용되는 것일 까요?? 해당 내용을 찾아보니 도커를 사용할 때는 리눅스 커널이 필수적으로 필요해서 가상화된 Linux를 내부적으로 사용한다고 확인했습니다. 이 내용을 리눅스 환경이 아닌경우 도커 내부에 리눅스가 가상화 기술로 적용되어 있다고 이해하는 것이 맞을까요?? 내장되어 있는 것이 맞다면 컨테이너 별로 리눅스가 별도로 포함되는것인지, 도커위에 하나의 리눅스OS를 갖고 있는 것인지 질문드리고 싶습니다! 유익한 강의 정말 감사드립니다 😀

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
teho.lee200 댓글 2 좋아요 1 조회수 189

인기 태그

인프런 TOP Writers

주간 인기글