맥에서 iterm에 접속하고 docker -version을 치면 docker server의 os가 linux로 나와있어서 그때부터 의문점이 생겨 질문드립니다. 도커가 리눅스 커널(Namespace, Cgroups)를 활용하여 컨테이너를 만들고 관리하는 것 같습니다. 그런데 맥에서는 어떻게 이게 가능한건지 궁금합니다. 제 예상으로는 도커 데스크탑이 어떤 기술에 의해 리눅스명령을 도커에 실행하면 도커가 명령을 받고 필요한 시스템 콜을 요청할때 도커 데스크탑이 맥 os가 알아들을 수 있게 변환작업을 하는 것같은데 맞는 걸까요?
강사님의 강의를 들으면서 모든 과정 에러없이 다 따라서 진행하였습니다. 완강을 하고 기존에 제가 따로 운영하던 프로젝트를 EC2에서 ECS 배포로 변경하는 작업을 진행하였습니다. 제 프로젝트에 ECS 배포와 Github Action 등이 정상적으로 적용된것을 확인하고 강의에서 진행하셨던 리소스들( express-ecs.com )에 대한 cluster, loadbalancer, task definition 등을 삭제하였습니다. 또한, IAM 롤에 대해서도 삭제를 하였는데 해당 리소스들을 삭제한 직후에 발생한 에러인지는 정확히 파악을 못 하였으나 그 이후로 갑자기 제가 자체적으로 만든(newdok) 로드밸런서의 Listener, Security Group에 대해서 접근 에러가 발생하였습니다. 여기까지가 현재 발생한 문제점이고 해당 내용들에 대한 2가지 질문이 있습니다. 질문 1 위 사진들을 보시면 AuthFail 에러가 발생하는데 여러 해결법들을 검색해보고 액세스 키도 새로 발급해보고 IAM 권한도 admin으로 설정해보고 여러 시도를 하였으나 해결을 하지 못하였습니다. 문제는 아무 서버와도 연결되지 않은 깡통 로드밸런서(test-lb)을 생성하여 리스너와 보안그룹을 지정해주면 해당 로드밸런서에 대해서는 AuthFail에러가 발생하지 않습니다. 만약, AWS 인증 문제라면 제가 관리하고 있는 모든 자원에 대해서 Security Group 접근 에러가 발생해야 하는데 해당 로드밸런서(newdok-lb)에 대해서만 에러가 발생하는 이유를 잘 모르겠습니다. 질문 2 두 번째 질문은 ECS Task Container의 Health Check에 대해서입니다. 첫 번째 질문에서 언급했던 에러가 발생함에도 로드 밸런서 접속(HTTP만), 연결한 도메인에 대한 접속(HTTP, HTTPS)은 정상적으로 되고 있는 상황입니다. 실제로도 ECS Cluster에 들어가보면 cluster, service, 심지어 task까지 정상적으로 작동 및 Health 상태를 반환합니다. 하지만, 마지막 사진을 보시면 Task을 들어갔을때, Container에서 Healthy가 아니라 Unknown 상태를 반환합니다. Unhealthy가 아니라 Unknown 반환의 경우 어떤 문제일까요?
일단 ElasticbeanStalk에서는 상태가 Travis연결 시도 전에는 Pending, 연결 시도 후에는 No data가 뜹니다. 제 .travis.yml 파일 코드는 다음과 같습니다 sudo: required language: generic services: - docker before_install: - echo "start creating an image with dockerfile" - docker build -t minseokkim6823/docker-react-app -f Dockerfile.dev ./ script: - docker run -e CI=true minseokkim6823/docker-react-app npm run test -- --coverage deploy: provider: elasticbeanstalk edge: true region: "ap-northeast-2" app: "docker-react-app" env: "Docker-react-app-env-1" bucket_name: "elasticbeanstalk-ap-northeast-2-845428038664" bucket_path: "docker-react-app" on: branch: master access_key_id: $AWS_ACCESS_KEY secret_access_key: $AWS_SECRET_ACCESS_KEY 이 결과 travis ci 에서 이런 결과가 계속나옵니다..... 무엇이 문제 일까요?
안녕하세요. SSH Sever설치 강의 내용중 hub.docker.com 에서 edowon0623/docker 이미지파일을 다운받았습니다. 아래와 같은 명령어로 docker 실행을 했고요. docker run --privileged --name docker-server -itd -p 10022:22 -p 8081:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup edowon0623/docker:latest /usr/sbin/init 이후에 ssh에 접속하려할때 아래와 같은 오류가 발생됩니다. ssh root@localhost -p 10022 kex_exchange_identification: read: Connection reset by peer Connection reset by ::1 port 10022 제 노트북 환경은 MacBook Pro intel Core i5 macOS Sonoma 14.1.2 입니다. 도커는 정상적으로 아래와 같이 실행되고 있습니다. work % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3f2373fa24ca edowon0623/docker:latest "/sbin/init systemct…" 8 seconds ago Up 5 seconds 0.0.0.0:10022->22/tcp, 0.0.0.0:8081->8080/tcp docker-server cfe2dfbf08c6 jenkins/jenkins:lts-jdk17 "/usr/bin/tini -- /u…" 5 weeks ago Up About a minute 0.0.0.0:8080->8080/tcp, 0.0.0.0:60000->60000/tcp, 50000/tcp jenkins-server
15.97 src/components/header/Header.tsx(1,8): error TS6133: 'React' is declared but its value is never read. 15.97 src/components/header/Header.tsx(6,19): error TS6133: 'setIsLogin' is declare d but its value is never read. 15.98 src/components/header/Header.tsx(9,9): error TS6133: 'border' is declared but its value is never read. 15.99 src/components/htmlEditor/HtmlEditor.tsx(1,8): error TS6133: 'React' is decla red but its value is never read. 15.99 src/components/htmlEditor/HtmlEditor.tsx(2,20): error TS7016: Could not find a declaration file for module '@toast-ui/editor'. '/app/node_modules/@toast-ui/edit or/dist/esm/index.js' implicitly has an 'any' type. 15.99 There are types at '/app/node_modules/@toast-ui/editor/types/index.d.ts', b ut this result could not be resolved when respecting package.json "exports". The '@ toast-ui/editor' library may need to update its package.json or typings. 15.99 src/main.tsx(1,1): error TS6133: 'React' is declared but its value is never r ead. 15.99 src/pages/myPage/MyPost.tsx(1,1): error TS6133: 'React' is declared but its v alue is never read. 15.99 src/pages/post/ReadPage.tsx(1,8): error TS6133: 'React' is declared but its v alue is never read. 15.99 src/pages/post/ReadPage.tsx(4,1): error TS6133: 'search' is declared but its value is never read. 15.99 src/pages/post/ReadPage.tsx(8,19): error TS6133: 'setIsLogin' is declared but its value is never read. ------ failed to solve: process "/bin/sh -c npm run build" did not complete successfully: exit code: 2 이런 오류는 어떡하나요?
마지막 배포시에 Run echo "***" | docker login -u "***" --password-stdin 2 echo "***" | docker login -u "***" --password-stdin 3 shell: /usr/bin/bash -e {0} 4 Error response from daemon: Get " https://registry-1.docker.io/v2/ ": unauthorized: incorrect username or password 5 Error: Process completed with exit code 1. 에러가 지속적으로 발생합니다. 도커 로그인에 사용되는 유저네임과 비밀번호를 그대로 입력하였음에도 계속해서 발생하는 문제입니다.
he command "docker run -e CI=true tedkov2024/docker-react-nginx-app npm run test -- --coverage" exited with 127. 85.61s$ docker build -t tedkov2024/docker-react-nginx-app -f Dockerfile . 0.60s$ docker run -e CI=true tedkov2024/docker-react-nginx-app npm run test -- --coverage /docker-entrypoint.sh: 47: exec: npm: not found The command "docker run -e CI=true tedkov2024/docker-react-nginx-app npm run test -- --coverage" exited with 127. Done. Your build exited with 1. 무엇이 문제인지 모르겠습니다.
Mac PC에서 Tomcat 9점대 설치했습니다. Mac IP : ifconfig에서 en0:의 inet 주소 복붙 젠킨스 콘솔에서 http://[MacIP]:8088 or http://[네이버 내 아이피주소]:8088 2가지로 테스트해서 진행했는데, 계속 에러가 나더라구요. 1) conf/tomcat-users.xml에서 admin/deployer/tomcat : 롤 수정해서 세팅했구요. 2) webapps/host-manager/META-INF/context.xml : 해당 부분 주석 처리했습니다. 3) webapps/manager/META-INF/context.xml : 해당 부분 주석처리했습니다. ERROR: Build step failed with exception org.codehaus.cargo.container.ContainerException: Failed to redeploy [/var/jenkins_home/workspace/SsuThirdProject/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:1198) at hudson.FilePath.act(FilePath.java:1181) 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 refused (Connection refused) at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) at java.base/java.net.Socket.connect(Socket.java:609) at java.base/java.net.Socket.connect(Socket.java:558) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:509) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:604) at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:277) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:376) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:397) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1253) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015) 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 refused (Connection refused) at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) at java.base/java.net.Socket.connect(Socket.java:609) at java.base/java.net.Socket.connect(Socket.java:558) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:509) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:604) at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:277) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:376) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:397) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1253) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015) 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:1198) at hudson.FilePath.act(FilePath.java:1181) 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
현재 강좌까지 들은 상황에서 궁금한 점이 있어 글을 쓰게 되었습니다. 이미지 안에 OS 도 포함된 것으로 보이는데 그렇다면 이미지를 만드는 주체자는 각 OS 별로 별도로 파일들을 만들어줘야 하나요? 그렇다면 너무 많은 이미지를 생성해야하는 것 아닌가 하는 의문이 듭니다. -- 강의 설명이 아주 친절해서 좋은 것 같아요. :)
안녕하세요. PollSCM 설정을 통한 지속적인 파일업데이트 강의 내용중, index.jsp 파일을 수정한 후 commit 하고 마지막에 git push를 하면, 아래와 같이 authentication관련 메시지가 뜹니다. 제 계정을 별도로 생성해서, repository를 만들어야 하는걸까요? 별도 계정 생성이 필요하다면 생성 이후에 인증관련 처리는 어떻게 해야 하는걸까요? n@n-MacBookPro views % git push Username for ' https://github.com ': Password for ' https://xxx@github.com ': remote: Support for password authentication was removed on August 13, 2021. remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication. fatal: Authentication failed for ' https://github.com/joneconsulting/cicd-web-project/ '
안녕하세요. 강의를 듣고 있는 초보 개발자입니다. test 코드 만드는 부분에서 오류가 나서 진도를 못나가고 있는 상태입니다. export createApp을 했음에도 불구하고 index.test.ts 파일에서 import createApp을 한 후 let app: Express.Application 선언 후 app을 request 인자로 넣을 때 오류가 납니다. 또 한가지 질문은 os 환경이 windows인데 redis 설치를 했습니다만 이게 node api와 연동이 되고 있는건지 잘 모르겠습니다..ㅠㅠ redis cli에서 list에 push한 후 typescript로 만든 api를 구동해서 push를 했을 때 성공했다고 postman으로 확인을 했는데 get을 호출하면 [] 빈 리스트가 반환됩니다..ㅠㅠ 제가 node와 타입스크립트로 개발이 처음이라 너무 힘듭니다ㅠㅠ 진도를 나가고싶은데 이 코드를 통해서 빌드 배포를 하는 거 같아서 강의를 처음부터 계속 다시 돌려보면서 프로젝트만 지웠다 다시 만들었다만 반복 중입니다.. 도움 좀 부탁 드리겠습니다.
안녕하세요. ' Jenkins를 이용한 CI/CD Pipeline 구축' 강의 수강생입니다. 다름이 아니라, 본 강의에서 정말 많은 내용을 다뤄주시고 설명도 자세하게 해주셔서 따로 정리하고 싶어서요. 혹시 강의 출처를 밝히고 블로그에 정리해도 될까 궁금해서 질문 남깁니다. CI/CD 에 대해 감이 안잡혀서 힘들어했는데, 본 강의 듣고 흐름을 점차 이해 중입니다! 항상 좋은 강의 감사드립니다. 😊