안녕하세요. 백엔드 Dockerfile 내용 보고서 질문이 있습니다. 실제로 실습을 하다 보면 /build/libs에서 이렇게 jar 파일이 두개가 생기는데요. COPY --from=build /app/build/libs/*.jar /app/leafy.jar 이 명령어는 .jar 확장자 파일 모두 leafy.jar이름으로 복사한다는 의미인거 같은데요. 이렇게 2개의 파일이 있거나 또는 2개 이상의 파일이 있을때.. 1) 마지막 파일 기준으로 복사가 되는걸까요? 2) 아니면 두개의 파일이 합쳐져서 leafy.jar로 하나로 복사가 되는걸까요? 두개의 파일이 하나로 합쳐진다면 실행할때 잘 안될거 같은 느낌이 들어서요. 3) 추가적으로 -plain과 그냥 .jar파일 차이점도 궁금하고 왜 2개가 나오는지도 궁금합니다.
안녕하세요. 강사님 RDS를 express-app과 연결해보려고 하는데요. 두 서비스간 통신은 설명해주신 구조와 유사하게 private network를 통해서 하려고합니다. 그러면 express-app을 만들때, service-connect를 client and server로 설정을 하면 되나요? 아니면 로드밸런서를 따로 둔 다음 security group을 설정해야할까요?
안녕하세요. 강사님! 강의 정말 잘 보고 있습니다. lightsail로 서버도 배포해보고, ECS를 사용하여 hello world까지 구현해보고, 관리형 서비스에 대해 공부하는데 많은 도움이 되고 있습니다. 고민이 하나 있어 질문 드립니다. 강사님의 강의를 듣기전에 EC2로 배포한 웹사이트가 하나 있습니다. 이 사이트를 강사님 강의 내용을 기반으로 lightsail 또는 ECS로 전환해보고자 합니다. 전환하려는 이유는 기존 ec2는 로드밸런서 및 오토스케일링이 적용되어있지 않아 고가용성이 힘듭니다. 보안그룹 또한 보완할점이 많다고 생각합니다. Backend의 경우는 DB도 ec2 내부에 있어서, 수평확장도 힘들 것같아, RDS로 데이터를 이관하려고 합니다. 그래서 lightsail과 ECS 선택 기준에 알아보았는데, 소규모 서비스는 lightsail / 대규모 서비스는 ECS로 생각하면 된다고 하더라구요. 당연히 소규모와 대규모는 여러 요인에 따라 달라지긴 하겠지만, LightSail과 ECS를 선택하는 대략적인 기준이 있을까요?
일단 유익한 강의 감사드립니다 !강의 리마인드 중 갑자기 의문이들어서 질문 드려봅니다.Redis, PostgreSQL 등 db가 서버와 같은 머신에 설치되지않고 따로 별도의 머신에 설치되고 있습니다.대부분의 아키텍쳐가 이런 형상인데 서버랑 분리해서 따로 운영하는 이유가 있을까요?
안녕하세요. leafy 사이트 로딩까지 하였고 DB 백엔드, 프론트엔드까지 도커실행 완료했어요.. 근데 사이트 로그인이 안되네요 ㅋㅋㅋ id : john123@qmail.com pw: password123 이걸 아무리 여러번 쳐도 똑같아요.. 1. 궁금한게 postgre DB를 도커에서 다운받으면 초기 데이터가 들어가있는걸까요?? 이거 로그인이 안되서 postgre DB를 살펴보고 싶은데 docker 실행중인 DB 데이터 확인할수 있는 방법 있을까요?
안녕하세요!! alembic 을 적용할때는 infrastructure - database - alembic 폴더 이런식으로 구조짜면되는건가요?? 또 dto 는 어디에 위치해야하나요? dto, domain entity, orm entity 모두 필요한거아닌가요?!?! 강의에 dto 가 없어서 헷갈려서 질문드립니다...!! 혹시 domain entity 를 dto 개념으로 사용하신건가요??
안녕하세요 ! 우선 좋은 강의 감사드립니다. Remote JVM Debug 연결이 되지 않습니다. Configuration은 다음과 같습니다. LeafyDevContainer LocalDevContainerDebug 위와 같이 설정했는데, Error running 'LocalDevContainerDebug': Unable to open debugger port ( localhost:5005 ): java.net .ConnectException "Connection refused: connect" 해당 에러가 발생합니다.혹시 제가 놓친 게 무엇일까요?
안녕하세요! 먼저 정말 유익한 강의 감사합니다. 깃허브 오픈소스의 리드미 파일이나 블로그에서는 주로 아래와 같은 명령어가 보였습니다. sudo docker-compose up -d 그런데 강의에서 보이는 명령어는 docker와 compose 사이에 대쉬('-')가 보이지 않는데요. Docker의 버전이 올라가면서 명령어도 바뀐건가요?
제가 이미 VSC에 깃허브 로그인이 되어있었고 커밋 푸시를 했는데도 액션이 실행이 안되었는데, 아래 글을 보고 해결했습니다. 08-cicd 브랜치 터미널에서 다음 <내용> 칸에 본인에 맞는 값을 채운뒤 실행하면 됩니다. git remote set-url origin https://<personal_access_token>@github.com/<your_username>/leafy.git https://stackoverflow.com/questions/66231282/how-to-add-a-github-personal-access-token-to-visual-studio-code
Windows 11 PC에서 Tomcat 9점대 설치했습니다. Windwos 11 IP : ipconfig에서 이더넷 어댑터 이더넷 2: IPv4 주소 복붙 tomcat cmd 실행 후 ipconfig의 IPv4 주소로 tomcat 웹 페이지 접속 성공했습니다. 젠킨스 프로젝트 구성 > 빌드 후 조치에 http://[Windows IP]:8088 외 강의 내용을 토대로 입력했습니다 1) conf/tomcat-users.xml에서 admin/deployer/tomcat : 롤 수정해서 세팅했고 2) webapps/host-manager/META-INF/context.xml : 해당 부분 주석 처리했습니다. 3) webapps/manager/META-INF/context.xml : 해당 부분 주석처리했습니다. <<콘솔 출력 내용 일부>> [INFO] --- maven-war-plugin:3.2.2:war (default-war) @ web --- [INFO] Packaging webapp [INFO] Assembling webapp [web] in [/var/jenkins_home/workspace/My-Third-Project/target/hello-world] [INFO] Processing war project [INFO] Copying webapp resources [/var/jenkins_home/workspace/My-Third-Project/src/main/webapp] [INFO] Webapp assembled in [37 msecs] [INFO] Building war: /var/jenkins_home/workspace/My-Third-Project/target/hello-world.war [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5.842 s [INFO] Finished at: 2024-04-01T11:22:14Z [INFO] ------------------------------------------------------------------------ Waiting for Jenkins to finish collecting data [JENKINS] Archiving /var/jenkins_home/workspace/My-Third-Project/pom.xml to com.njonecompany.web/web/1.0/web-1.0.pom [JENKINS] Archiving /var/jenkins_home/workspace/My-Third-Project/target/hello-world.war to com.njonecompany.web/web/1.0/web-1.0.war channel stopped [DeployPublisher][INFO] Attempting to deploy 1 war file(s) [DeployPublisher][INFO] Deploying /var/jenkins_home/workspace/My-Third-Project/target/hello-world.war to container Tomcat 9.x Remote with context null ERROR: Build step failed with exception org.codehaus.cargo.container.ContainerException: Failed to redeploy [/var/jenkins_home/workspace/My-Third-Project/target/hello-world.war] at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:176) at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:81) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:167) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:136) at hudson.FilePath.act(FilePath.java:1236) at hudson.FilePath.act(FilePath.java:1219) at hudson.plugins.deploy.CargoContainerAdapter.redeployFile(CargoContainerAdapter.java:133) at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeployFile(PasswordProtectedAdapterCargo.java:95) at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:113) at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123) at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:47) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:818) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:767) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1072) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:711) at hudson.model.Run.execute(Run.java:1918) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) Caused by: java.net.ConnectException: Connection timed out (Connection timed out) at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) at java.base/java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.base/java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.base/java.net.Socket.connect(Unknown Source) at java.base/java.net.Socket.connect(Unknown Source) at java.base/sun.net.NetworkClient.doConnect(Unknown Source) at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) at java.base/sun.net.www.http.HttpClient.<init>(Unknown Source) at java.base/sun.net.www.http.HttpClient.New(Unknown Source) at java.base/sun.net.www.http.HttpClient.New(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:567) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:882) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:895) at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:161) ... 19 more java.net.ConnectException: Connection timed out (Connection timed out) at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) at java.base/java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.base/java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.base/java.net.Socket.connect(Unknown Source) at java.base/java.net.Socket.connect(Unknown Source) at java.base/sun.net.NetworkClient.doConnect(Unknown Source) at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) at java.base/sun.net.www.http.HttpClient.<init>(Unknown Source) at java.base/sun.net.www.http.HttpClient.New(Unknown Source) at java.base/sun.net.www.http.HttpClient.New(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:567) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:882) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:895) at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:161) at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:81) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:167) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:136) at hudson.FilePath.act(FilePath.java:1236) at hudson.FilePath.act(FilePath.java:1219) at hudson.plugins.deploy.CargoContainerAdapter.redeployFile(CargoContainerAdapter.java:133) at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeployFile(PasswordProtectedAdapterCargo.java:95) at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:113) at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123) at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:47) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:818) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:767) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1072) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:711) at hudson.model.Run.execute(Run.java:1918) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) Build step 'Deploy war/ear to a container' marked build as failure Finished: FAILURE
안녕하세요. 이미지 레지스트리 실습을 따라가던 도중에 개인 레포지토리에 올린 이미지를 run할 때 WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested 해당 경고가 뜨고, 컨테이너가 계속해서 바로 종료됩니다.
환경 문제 관련 문의 드립니다. 문제 1. docker desktop에서 login을 시도하면 WebBrowser에 아래와 같은 화면이 나오고, Desktop에서는 아래와 같이 login을 준비하지만, login이 되지 못하고 logout되는 현상이 있습니다. 이에 git bash 에서 login을 하려고 해도 아래와 같은 메시지가 나옵니다. $ docker login Error: Cannot perform an interactive login from a non TTY device OS는 : Windows11이고 Docker desktop version : 4.28.0 입니다.