묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발자를 위한 쉬운 도커
컨테이너 포트 질문
도커 컨테이너 3개 모두 포트 번호가 다 똑같던데 클라이언트가 만약에 도메인:80번포트를 요청하면 어디로 요청이 가는건가요?
-
해결됨개발자를 위한 쉬운 도커
맥에서는 도커를 어떻게 사용하는건가요?
맥에서 iterm에 접속하고 docker -version을 치면 docker server의 os가 linux로 나와있어서 그때부터 의문점이 생겨 질문드립니다. 도커가 리눅스 커널(Namespace, Cgroups)를 활용하여 컨테이너를 만들고 관리하는 것 같습니다. 그런데 맥에서는 어떻게 이게 가능한건지 궁금합니다. 제 예상으로는 도커 데스크탑이 어떤 기술에 의해 리눅스명령을 도커에 실행하면 도커가 명령을 받고 필요한 시스템 콜을 요청할때 도커 데스크탑이 맥 os가 알아들을 수 있게 변환작업을 하는 것같은데 맞는 걸까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
AWS Security Groups 접근시에 AuthFailure 에러가 발생합니다
강사님의 강의를 들으면서 모든 과정 에러없이 다 따라서 진행하였습니다. 완강을 하고 기존에 제가 따로 운영하던 프로젝트를 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 반환의 경우 어떤 문제일까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
TravisCI에서 계속 에러가 납니다....
일단 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 에서이런 결과가 계속나옵니다..... 무엇이 문제 일까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
buildkit 관련 문의
Docker Engine v24.0.7 을 사용중입니다.아래의 다른 분들처럼 DockerEngine 에서 설정으로 넣어도적용 및 restart 해도 강의와 다른결과가 나옵니다.
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
비용 문제!
혹시 이 강의들을 실습하면 비용이 많이 청구될까요..!?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
ssh 접속 오류 kex_exchange_identification: read: Connection reset by peer
안녕하세요. 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 10022kex_exchange_identification: read: Connection reset by peerConnection reset by ::1 port 10022 제 노트북 환경은MacBook Pro intel Core i5macOS Sonoma 14.1.2 입니다. 도커는 정상적으로 아래와 같이 실행되고 있습니다.work % docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES3f2373fa24ca 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-servercfe2dfbf08c6 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
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker_compose시
Learn React를 바꿔도 바로바로 적용이 안됩니다.docker-compose.yml은 아래와 같이 작성했습니다version: "3" services: react: build: context: . dockerfile: Dockerfile.dev ports: - "3000:3000" volumes: - /usr/src/app/node_modules - ./:/usr/src/app stdin_open: true
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Dockerfile Dockerfile.dev
Dockerfile.dev에서는 CMD 사용하고Dockerfile에서는 RUN을 사용하는데 차이점이 뭘까요?Dockerfile.dev에서도 RUN 사용하면 안되나요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
프론트엔드 도커파일 실행 중 오류
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 declared 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 declared 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/editor/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', but 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 read.15.99 src/pages/myPage/MyPost.tsx(1,1): error TS6133: 'React' is declared but its value is never read.15.99 src/pages/post/ReadPage.tsx(1,8): error TS6133: 'React' is declared but its value 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이런 오류는 어떡하나요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
마지막 배포시에 도커 관련 문제
마지막 배포시에 Run echo "***" | docker login -u "***" --password-stdin2 echo "***" | docker login -u "***" --password-stdin3 shell: /usr/bin/bash -e {0}4Error response from daemon: Get "https://registry-1.docker.io/v2/": unauthorized: incorrect username or password5Error: Process completed with exit code 1.에러가 지속적으로 발생합니다. 도커 로그인에 사용되는 유저네임과 비밀번호를 그대로 입력하였음에도 계속해서 발생하는 문제입니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
트레비스에서 he command "docker run -e CI=true tedkov2024/docker-react-nginx-app npm run test -- --coverage" exited with 127. 형태로 에러가 발생합니다.
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. 무엇이 문제인지 모르겠습니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
실습3) Tomcat 서버에 배포하기 질문 있습니다.
Mac PC에서 Tomcat 9점대 설치했습니다. Mac IP : ifconfig에서 en0:의 inet 주소 복붙 젠킨스 콘솔에서 http://[MacIP]:8088 or http://[네이버 내 아이피주소]:80882가지로 테스트해서 진행했는데, 계속 에러가 나더라구요. 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
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
설명 파일 보는 곳?
이 설명하는 파일 어디서 볼수 있나요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
강의 docker질문
백엔드인 전 mysql이 있는 상태인데프론트엔드가 mysql이 없는 상태라면 프론트엔드를 위해서 강의와 같이 docker로 mysql 환경 설정을 해야하는 건가요?? nginx를 통해서하면 프론트엔드는 mysql를 설치할 필요가 없다고 들었어서요
-
해결됨개발자를 위한 쉬운 도커
이미지안에는 OS 에 관련 궁금한 사항
현재 강좌까지 들은 상황에서 궁금한 점이 있어 글을 쓰게 되었습니다.이미지 안에 OS 도 포함된 것으로 보이는데 그렇다면 이미지를 만드는 주체자는 각 OS 별로 별도로 파일들을 만들어줘야 하나요? 그렇다면 너무 많은 이미지를 생성해야하는 것 아닌가 하는 의문이 듭니다. -- 강의 설명이 아주 친절해서 좋은 것 같아요. :)
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
도커 생명주기파트 docker system prune 질문
수업듣기전에 야매로 배워서 몇개 돌려봤었던것들을 수업에서 docker system prune을 사용하면 실행되고 있지 않은 컨테이너, 이미지, 네트워크등이 지워진다고 했는데 컨테이너는 지워졌지만 이미지는 남아있는데 어떤게 잘못된 건가요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
맥에서 원본 도표 강의자료
학습환경mac m2sonoma 14.0chrome구글드라이브에서 원본 도표 강의자료를 다운받아서 파일을 열어보면 txt파일로 열려서 사진같이 보이기보단 코드들만 나옵니다.파일의 확장명이나 사용하시는 프로그램 뷰어가 뭔가요?Docker #1과 Docker #2다운받아봤습니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
git push 명령어 이후 authentication 관련 처리
안녕하세요. 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/'
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
node api 및 redis 서버
안녕하세요. 강의를 듣고 있는 초보 개발자입니다.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와 타입스크립트로 개발이 처음이라 너무 힘듭니다ㅠㅠ 진도를 나가고싶은데 이 코드를 통해서 빌드 배포를 하는 거 같아서 강의를 처음부터 계속 다시 돌려보면서 프로젝트만 지웠다 다시 만들었다만 반복 중입니다.. 도움 좀 부탁 드리겠습니다.