묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
다른 이미지와 달리 직접 만든 이미지를 run 시킬 때 저절로 컨네이너가 종료되는 이유
자신이 직접 만든 이미지를 build 하면 docker image ls에 뜨고 이를 docker run -d my-jdk17-server 명령어로 실행시킨다 까지 이해했습니다.컨테이너가 내부적으로 필요한 명령어를 다 수행하면 컨네이너가 저절로 종료 된다고 하신 부분이 이해가 가지 않습니다. 이전에 mysql 실행할 때는 동일하게 run 명령어를 실행시키면 Up(실행)이 되었는데, 1) 왜 직접 만든 이미지는 실행되지 않나요? 2) mysql은 Dockerfile에 실행시키는 것까지 포함된건가요?
-
해결됨개발자를 위한 쉬운 도커
Docker Compose의 네트워크 구성에 대해서 궁금한 점이 있습니다.
안녕하세요! 강의 정말 잘 들었습니다.강의를 듣고 나서 혼자 프로젝트에 적용해 보던 중, 몇 가지 궁금한 점이 생겨 질문드립니다.강의에서는 Docker Compose를 활용하여 세 개의 컨테이너를 하나의 컴포즈 파일로 묶고, 동일한 네트워크를 사용하여 API를 주고받는 방식을 설명해 주셨습니다. 이를 참고하여 직접 간단한 프로젝트를 만들어 실습해 보았는데, DB 연결에는 문제가 없었지만 프론트엔드와 백엔드 간의 통신에서 CORS 문제가 발생했습니다. 혹시 LEAFT 프로젝트에서는 CORS 문제를 어떤 방식으로 해결했는지 궁금합니다.또한, AWS에 배포할 경우 Docker Compose로 프론트엔드와 백엔드를 하나로 묶어 한 번에 배포하는 것이 일반적인지, 아니면 각각 별도로 배포하는 것이 더 일반적인지도 궁금합니다.다시 한번 좋은 강의 해주셔서 감사합니다!
-
미해결쿠버네티스 대신 도커 SWARM 사용 방법 핵심 강의
질문드립니다.
해당 부분 혹시 조인하여 확인하였습니다만\_ svc_spring2.1 virnect0073/test-spring:test-9090 node2 Shutdown이부분은 오류가 있는걸까요? traefik를 사용했어도 매니져노드에 docker container ls 라고 검색하면 결과값이 나오나요?
-
미해결입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
Docker Compose 배포 시 Jasypt 암호화된 속성 복호화 문제 해결 방법
문제Docker Compose 환경에서 애플리케이션 배포 후, 데이터베이스에 연결할 때 암호화된 설정값을 복호화하지 못해 연결에 실패하는 문제.원인@EnableEncryptableProperties 어노테이션을 누락한 경우, 애플리케이션이 암호화된 속성을 복호화하지 않고 데이터를 사용하려고 시도합니다. 이로 인해 암호화된 패스워드로 데이터베이스에 접속하려 시도하면서 연결 오류가 발생하고, 컨테이너가 종료됩니다.해결 방법JasyptConfiguration.kt 파일에 @EnableEncryptableProperties 어노테이션을 추가합니다.import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties import org.jasypt.encryption.StringEncryptor import org.jasypt.encryption.pbe.PooledPBEStringEncryptor import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @Configuration @EnableEncryptableProperties // 추가해주세요. class JasyptConfiguration { @Bean("jasyptStringEncryptor") fun stringEncryptor(): StringEncryptor { val encryptor = PooledPBEStringEncryptor() val config = SimpleStringPBEConfig() config.password = System.getenv("jasypt.encryptor.key") config.algorithm = "PBEWithMD5AndDES" config.setKeyObtentionIterations("1000") config.setPoolSize("1") config.providerName = "SunJCE" config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator") config.setIvGeneratorClassName("org.jasypt.iv.NoIvGenerator") config.stringOutputType = "base64" encryptor.setConfig(config) return encryptor } } 예제 소스 코드 Github에서 확인하기
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
image 3개
aws에 image push하면 영상에서는 하나가 뜨는데 저는 3개가 뜨네요 이렇게 동작해도 맞는건가요??
-
미해결개발자를 위한 쉬운 도커
unable to find user nod 오류..
안녕하세요.. 다음과 같이 에러가나서구글에서도 검색을 해봤지만 오류 해결방법과 원인을 알고싶어 질문드립니다! 감사합니다~
-
미해결쿠버네티스 대신 도커 SWARM 사용 방법 핵심 강의
도메인을 구매 안했다면
개인 로컬에 등록 하는 법도 있을까요? 서버 두대로
-
미해결AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
Private EC2내 Userdata Script 동작 문제
안녕하세요. 강의 잘 듣고 있습니다. EC2 userdata에 강사님이 제공한 스크립트를 넣고 인스턴스 시작을 하면 스크립트 실행이 되지 않고 있어서 문의 드립니다. EC2 처음 생성시에는 스크립트가 잘 동작하는데 한번 instance stop한 다음에 다시 start 하면 실행이 되지 않습니다. 테스트를 스크립트 내에 echo 등 다양한 방법으로 시도를 해 보았는데 실행이 되지 않고 있습니다. 직접 connect 해서 아래 스크립트 실행하면 잘 됩니다. Security Group 이슈는 아닐 것 같습니다. 혹시 어떤 문제가 있는지 확인 가능할까요?그리고 첫번째 인스턴스 생성시에 aws-operation-prac 폴더가 ec2-user에 생기는 것이 아니고 "/" 루트에 생성이 됩니다. 아래 userdata 스크립트입니다.인스턴스를 몇개 만들어서 테스트를 해도 동일한 결과가 나옵니다. 이 이슈로 ALB, Auto scaling 등에서 진행이 되지를 않고 있습니다. #!/bin/bashsudo yum update -ysudo yum install -y gitsudo yum install -y java-17-amazon-corretto-develgit clone -b 2_monolithic_cloud https://github.com/burger-2023/aws-operation-prac.gitcd aws-operation-prac./gradlew build sudo java -jar build/libs/aws-msa-monolithic-prac-0.1.jar
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
커리큘럼 순서 문의
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 ]3. 질문 잘하기 법을 읽어보셨나요? [예 (https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. (https://www.inflearn.com/questions/992407/comment/281901)[질문 하기]1-2 섹션 보고있는데 강의 순서가 이상해서요.뭐 이미 했으니까 아시겠죠 하시면서 파드 get 하시거나 get nodes 하시는데 이전에 올린게 아무것도 없는데 node, pod 가 띄워져 계시고 저는 아무것도 없고..선행 강의를 결제하고 와야하는건지요..? 아니면 일단 건너뛰고 그냥 계속 듣는게 맞는건지요.. 환경 세팅하는데 첨에 arm체계에서는 방법이 없다고 해서 다시 다 지웠는데 또 뒤에 가니까 arm64에서 세팅하는게 있어서 bin 에 vb 관련 남아있어서 주신 파일 실행도 안되고;; 지우고 리부트 하니까 되긴했는데요..커리큘럼 순서 좀 알려주세요... 2.4에서 대충 세팅됐으면 3으로 넘어가면되나요아니면 쉽게 어찌고 그거 보고와야하나요?
-
해결됨개발자를 위한 쉬운 도커
도커 데스크탑 설치 안되는 문제
안녕하세요. 도커 데스크탑 설치가 회사 컴퓨터로 설치하다보니 유료버젼만 가능한 상태인데혹시 다른 방법에 대해 설명 해주실 수 있으실까요? https://hackerpark.tistory.com/entry/Windows-%EB%8B%A8%EC%9D%BC-%EB%AA%85%EB%A0%B9-%ED%95%9C%EC%A4%84%EB%A1%9C-WSL2-Ubuntu-%ED%86%B5%ED%95%A9-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0https://hackerpark.tistory.com/entry/Docker-Windows-WSL%EC%97%90%EC%84%9C-Docker-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-Docker-Desktop-%EC%95%84%EB%8B%98 위 링크와 같은 글들을 봤는데 맞는지 모르겠습니다. 우선 설치해서 해보았는데 도커의 버전은 확인가능 하나(docker --version) 도커 실행이 되지 않습니다. docker is not runningcannot connect to the docker daemon at unix:///var/run/docker.sock. is the docker daemon running?위와 같이 나오는 상황입니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
ETCD 설치 관련 질문 드립니다.
안녕하세요, 1%님. 좋은 강의 감사합니다. 항상 잘 보고 있습니다.추운 날씨 건강 유의하시고 새해 복 많이 받으시기 바랍니다. ETCD 설치에 대에 질문 드립니다.제공해주신 Vagrant 파일에는 etcd 설치에 대한 내용이 따로 없는데, kubeadm 설치 시 자동으로 static pod로 설치되는 걸까요?
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
[2.4] k get pods -> connection to the server 에러
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. (https://www.inflearn.com/questions/992407/comment/281901)[질문 하기] 안녕하세요 좋은 강의 감사드립니다.현재, vagrant up 성공 -> vmware fusion 앱 실행 -> 4개 node 모두 running -> tabby로 연결까지 완료되었는데,마스터 노드에서 'k get pods' 실행시 다음과 같은 에러가 발생합니다. 검색해봤을 때는 kube/config 파일을 수정하라던데, 이것저것 해봐도 잘 안돼서 해결할 수 있는 키워드 같은게 있을까요. 아니면 더 봐야하는 파일이라던지... 키워드라도 던져주시면 정말 감사하겠습니다.
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
실행에러질문
(.venv) PS C:\Users\LG\PycharmProjects\pragmatic> python manage.py runserver Watching for file changes with StatReloaderPerforming system checks...Exception in thread django-main-thread:Traceback (most recent call last): File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\checks\urls.py", line 136, in check_custom_error_handlers handler = resolver.resolve_error_handler(status_code) File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\resolvers.py", line 732, in resolve_error_handler callback = getattr(self.urlconf_module, "handler%s" % view_type, None) ^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\utils\functional.py", line 47, in get res = instance.__dict__[self.name] = self.func(instance) ~~~~~~~~~^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\resolvers.py", line 711, in urlconf_module return import_module(self.urlconf_name) File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module return bootstrap.gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcdimport File "<frozen importlib._bootstrap>", line 1360, in findand_load File "<frozen importlib._bootstrap>", line 1331, in findand_load_unlocked File "<frozen importlib._bootstrap>", line 935, in loadunlocked File "<frozen importlib._bootstrap_external>", line 1026, in exec_module File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed File "C:\Users\LG\PycharmProjects\pragmatic\pragmatic\urls.py", line 25, in <module> path('account/', include('accountapp.urls')), ~~~~~~~^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\conf.py", line 39, in include urlconf_module = import_module(urlconf_module) File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module return bootstrap.gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcdimport File "<frozen importlib._bootstrap>", line 1360, in findand_load File "<frozen importlib._bootstrap>", line 1331, in findand_load_unlocked File "<frozen importlib._bootstrap>", line 935, in loadunlocked File "<frozen importlib._bootstrap_external>", line 1026, in exec_module File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed File "C:\Users\LG\PycharmProjects\pragmatic\accountapp\urls.py", line 4, in <module> from pragmatic.urls import urlpatternsImportError: cannot import name 'urlpatterns' from partially initialized module 'pragmatic.urls' (most likely due to a circular import) (C:\Users\LG\PycharmProjects\pragmatic\pragmatic\urls.py)During handling of the above exception, another exception occurred:Traceback (most recent call last): File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\threading.py", line 1041, in bootstrapinner self.run() ~~~~~~~~^^ File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\threading.py", line 992, in run self._target(*self._args, **self._kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\utils\autoreload.py", line 64, in wrapper fn(*args, **kwargs) ~~^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\management\commands\runserver.py", line 134, in inner_run self.check(display_num_errors=True) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\management\base.py", line 486, in check all_issues = checks.run_checks( app_configs=app_configs, ...<2 lines>... databases=databases, ) File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\checks\registry.py", line 88, in run_checks new_errors = check(app_configs=app_configs, databases=databases) File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\checks\urls.py", line 138, in check_custom_error_handlers path = getattr(resolver.urlconf_module, "handler%s" % status_code) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\utils\functional.py", line 47, in get res = instance.__dict__[self.name] = self.func(instance) ~~~~~~~~~^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\resolvers.py", line 711, in urlconf_module return import_module(self.urlconf_name) File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module return bootstrap.gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcdimport File "<frozen importlib._bootstrap>", line 1360, in findand_load File "<frozen importlib._bootstrap>", line 1331, in findand_load_unlocked File "<frozen importlib._bootstrap>", line 935, in loadunlocked File "<frozen importlib._bootstrap_external>", line 1026, in exec_module File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed File "C:\Users\LG\PycharmProjects\pragmatic\pragmatic\urls.py", line 25, in <module> path('account/', include('accountapp.urls')), ~~~~~~~^^^^^^^^^^^^^^^^^^^ File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\conf.py", line 39, in include urlconf_module = import_module(urlconf_module) File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module return bootstrap.gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcdimport File "<frozen importlib._bootstrap>", line 1360, in findand_load File "<frozen importlib._bootstrap>", line 1331, in findand_load_unlocked File "<frozen importlib._bootstrap>", line 935, in loadunlocked File "<frozen importlib._bootstrap_external>", line 1026, in exec_module File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed File "C:\Users\LG\PycharmProjects\pragmatic\accountapp\urls.py", line 4, in <module> from pragmatic.urls import urlpatternsImportError: cannot import name 'urlpatterns' from partially initialized module 'pragmatic.urls' (most likely due to a circular import) (C:\Users\LG\PycharmProjects\pragmatic\pragmatic\urls.py) 강의랑 똑같이 코드를 치고 python manage.py runserver을 입력해서 실행하려 하는데 위 처럼 에러가 뜨는데 코드는 분명 똑같이친거 같은데 뭐가 잘못된건지 모르겠어요ㅠㅠ
-
미해결대세는 쿠버네티스 (초급~중급편)
대쉬보드 화면에서 연결 상태가 보이지 않음
안녕하세요.대쉬보드에서 표시할 데이터가 없다고 나옵니다.master node에서 pods는 정상적으로 구동하는 것 같은데, 어떤 조치가 필요할지 문의드립니다.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
실습 중에 서비스로 30000포트로 요청이 안들어가네요
[예제] 서비스(Service)를 활용해 백엔드(Spring Boot) 서버와 통신해보기실습중인데 30000 포트로 어플리케이션에 접근이 안되네요kebectl exec -it $pod이름 -- bash 접근해서 curl 로는 요청이 정상이였고 아래 처럼 서비스에 모두 기재 해줬는데도 서비스로 접근하면 연결이 잘 안되네요. port: 8080 targetPort: 8080 nodePort: 30000혹시 sudo kubectl port-forward 팟이름or서비스이름 8080:8080 처리를 추가로 해줘야 하나요 그게 아니라면 뭔가...제가 설정을 잘 못한거 같네요
-
미해결대세는 쿠버네티스 (초급~중급편)
파드 생성 실패
실습 진행중에 파드를 만들려고 하니깐 이런 에러가 뜨네요 ..
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
파드 : crashLoopBackoff
[5:00] 분 쯤에 manifest 파일들을 배포한후 get pods 했더니 파드가 정상적으로 작동이 안되더라구요 어떻게 하나요..?
-
미해결대세는 쿠버네티스 (초급~중급편)
join.sh 시 token값 미출력
안녕하세요.Master node에서 Join.sh를 치니 Token값이 출력되지 않습니다. 아무 output도 출력되지 않네요[root@k8s-master ~]# cat join.sh Vagrant 파일에는 아래와 같이 Token 생성 명령어가 있는 것 같은데 혹시 짐작되는 사유가 있으실까요? echo '======== [8] kubeadm으로 클러스터 생성 ========'echo '======== [8-1] 클러스터 초기화 (Pod Network 세팅) ========'kubeadm init --pod-network-cidr=20.96.0.0/16 --apiserver-advertise-address 192.168.56.30kubeadm token create --print-join-command > ~/join.sh
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
port forward [6.40]
포트 포워딩을 통해 mysql을 외부에서 접속가능하게 할려고하는데 PS C:\kubernates\mysql-project> kubectl port-forward pod/mysql-deployment-545cb7c695-dxbm7 3306:3306 Unable to listen on port 3306: Listeners failed to create with the following errors: [unable to create listener: Error listen tcp4 127.0.0.1:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions. unable to create listener: Error listen tcp6 [::1]:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions.]error: unable to listen on any of the requested ports: [{3306 3306}]이런식으로 오류가 떠서 어떻게 해야될지 모르겠어요...ㅠㅠ
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
도커 이미지 생성 및 소스 빌드에 관한 질문입니다.
12.01 분 쯤에 코드를 수정하시고 바로 docker build로 넘어가시던데 그전에 Spring으로 할때에는 코드 수정하고 ./gradlew clean build라는 명령어와 함께 소스빌드를 거친후 docker build를 하셨는데 혹시 뭔가 차이점이 있을까요??