안녕하세요. 여러 마이크로서비스에서 동일한 db를 공유할 경우는 어떻게 구성하는지 궁금합니다. 일단 동일 network로 db컨테이너와 마이크로서비스 컨테이너를 run하고 실행한 컨테이너명으로 요청하도록은 알겠는대 docker compose를 이용해서 여러 마이크로서비스가 같은 db 컨테이너를 어떻게 참조할 수 있는지 궁금합니다.
.travis.yml 파일 작성 후에 깃 커밋하고 sudo: required language: generic services: - docker before-install: - echo "start creating an image with dockerfile" - docker build -t gonieyoo720/docker-react-app -f Dockerfile.dev . script: - docker run -e CI=true gonieyoo720/docker-react-app npm run test -- --coverage after_success: - echo "Test Success" 트래비스에까지 테스트를 돌렸는데, 몇번을 수정하고 해봐도 트래비스에서 테스트를 통과하지 못하네요. 오타 확인도 많이 해봤는데, 해결을 못하고있습니다. 테스트에 중지되지않은 비동기작업이 있다고 오류를 해결하려면 devDependency를 추가하라는데, 어떻게 해야할까요 --------------------|---------|----------|---------|---------|------------------- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s --------------------|---------|----------|---------|---------|------------------- All files | 8.33 | 0 | 33.33 | 8.33 | App.js | 100 | 100 | 100 | 100 | index.js | 0 | 100 | 100 | 0 | 7-17 reportWebVitals.js | 0 | 0 | 0 | 0 | 1-8 --------------------|---------|----------|---------|---------|------------------- Test Suites: 1 failed, 1 total Tests: 1 failed, 1 total Snapshots: 0 total Time: 2.06 s Ran all test suites. Jest did not exit one second after the test run has completed. This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue. One of your dependencies, babel-preset-react-app, is importing the "@babel/plugin-proposal-private-property-in-object" package without declaring it in its dependencies. This is currently working because "@babel/plugin-proposal-private-property-in-object" is already in your node_modules folder for unrelated reasons, but it may break at any time. babel-preset-react-app is part of the create-react-app project, which is not maintianed anymore. It is thus unlikely that this bug will ever be fixed. Add "@babel/plugin-proposal-private-property-in-object" to your devDependencies to work around this error. This will make this message go away. The command "docker run -e CI=true gonieyoo720/docker-react-app npm run test -- --coverage" exited with 1. Done. Your build exited with 1.
docker: invalid reference format. See 'docker run --help' 자꾸 이렇게 뜨는데 docker run -it -p 3000:3000 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app gonieyoo720/docker-react-app 저는 강의에 나오는 것과 동일하게 써서 오타를 모르겠습니다 ㅠㅠ 이유가 뭘까요
travis 에서 정상적으로 배포 되어 s3에 압축파일이 정상적으로 들어갑니다. 또한, EB 환경에서도 실행중인 버전이 Travis-... 로 시작하구요. 그런데 도커 도메인을 클릭시 아무것도 뜨지 않습니다. 환경 Health 확인 시에도 OK 로 정상 이고요. 결론은 정상적으로 배포가 불가능합니다. 리뉴얼은 도대체 언제 되는건가요
mac os m2 모델을 사용하는데, 질문게시판에 있는대로 buildkit 부분을 건드리려고 설정에서 Docker Engine에 들어가니, 해당부분이 저는 없더라구요. 찾아봐도 이에 대한 언급은 없는데, m1/m2 mac silicon 도커에서는 이미지 Id를 다른 방식으로 찾아야하나요?
지금 nginx 를 이용해서 웹서버 랑 proxy랑 둘다 하는걸로 이해했는데 그럼 docker-compose.yml 측에서 frontend 빌드시 Dockerfile.dev 사용하니까 frontend 변경사항이 바로 보여야 하는지 아닌지 궁금합니다 frontend 변경 -> nginx 에서 정적파일을 가져와서 제공 지금 이런식인데 docker-compose yml 에서 nginx: restart: always build: dockerfile: Dockerfile context: ./nginx ports: - "3000:80" 여기에서는 볼륨이 딱히 보이지 않아서요 nginx에서는 변경사항이 있으면 어떻게 tracking 하는건가요? 프론트엔드가 변경되어도 그 변경된 사항을 다시 빌드해서 웹서버에서 제공이 되야하는건가요 안되는건가요? 현재는 프론트엔드 변경사항이 바로 반영이 되지 않아 제가 틀린건지 궁금해서 여쭙니다
도커파일로 이미지 빌드 시 멀티 스테이지로 테스트를 실행하려고 합니디. 테스트 실행 시 testcontainers mysql를 도커로 실행되어야 하는데 가능한건지 궁금합니다. 여러 시도를 했지만 실패했네요.. 이미지 빌드 시가 아닌 컨테이너 실행 후 내부에서는 도커가 실행되는 것을 확인했습니다. 도커 파일의 RUN에서는 컨테이너가 실행되지 않았습니다.
안녕하세요. 저는 IT 교육 프로그램에서 5명의 팀원과 프로젝트를 진행하고 있습니다. GitLab에서 하나의 Repository 안에서 작업을 하고 있습니다. 테스트 서버와 실환경 서버를 분리해서 진행해보려고 합니다. 그러기 위해 master 브랜치에 Push 될 때는 테스트 서버에 배포를 하고, master 에서 테스트 이후에 안정적인 코드를 production 이라는 브랜치에 Push 하려고 합니다. 이때 하나의 Repository에서 브랜치별로도 다른 서버로 배포를 진행할 수 있나요?
아래 n 번째에 윈도우에서 %cd% 로 경로 설정해도 안되는 증상이 같아서 해결방법을 알려주신 분이 계신데, 그 방법으로 해결해서 글 남깁니다. docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v "/$(pwd)/server.js:/usr/src/app/server.js" thdqudgns/node 처럼, 마운트 할 앞 경로 전체를 큰 따옴표로 감싸주고, 앞쪽에는 /${pwd}/server.js 를 적어서 파일을 명시해주고, 뒤쪽에도 /usr/src/app/server.js로 파일을 명시해주니 예제는 잘 해결되었습니다. 그러나 고민이... 실제로 프로젝트를 진행하면서 배포를 하고 빌드를 할 때에는 폴더 단위로 작업이 이루어져야 하는데, 파일 단위로만 되는 것을 확인하여서 앞이 막막합니다... ++ 터미널을 우분투 (wsl) 로 열어서 $(pwd) docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app thdqudgns/node 로 하니까 잘 되네요.. 터미널이 이상한 걸로... 조만간 토이프로젝트를 AWS에 올릴 예정인데 문제가 없기를...
현재 프론트와 백 나눠서 프로젝트를 진행중입니다. 강의에서는 하나의 레파지토리에 프론트폴더, 백앤드폴더, docker-compose.yml 파일이 있던데 저희는 오가니제이션으로 사용중이며, 프론트레파지토리, 백앤드레파지토리 나뉘어져있는 상황입니다. 이 상황에서 프론트레파지토리는 nginx를 위한 Dockerfile과 리액트를 위한 Dockerfile, 백앤드 레파지토리는 스프링부트에 대한 Dockerfile, docker-compose.yml에는 redis 및 스프링부트에 대한 dockerfile정보 등이 들어가는게 맞을까요? 결론은, nginx가 백앤드 레파지토리에도 필요한 것이 일반적인 것인지 여쭤봅니다!
[internal] load .dockerignore : .dockerignore 파일을 로드하는 단계입니다. .dockerignore 파일은 Docker 이미지를 빌드할 때 무시할 파일 또는 디렉토리를 지정하는 파일입니다. [internal] load build definition from dockerfile : Dockerfile을 로드하는 단계입니다. Dockerfile은 이미지 빌드에 필요한 설정과 명령어들을 정의하는 파일입니다. [internal] load metadata for docker.io/library/alpine:latest : Docker Hub에서 Alpine Linux의 최신 이미지에 대한 메타데이터를 로드하는 단계입니다. FROM docker.io/library/alpine 명령어에서 사용된 "alpine" 이미지를 가져오기 위한 작업입니다. [1/1] FROM docker.io/library/alpine : Alpine Linux를 기반으로 이미지를 생성하는 단계입니다. FROM 명령어는 이미지의 베이스로 사용할 이미지를 정의하는데, 여기서는 Docker Hub의 Alpine Linux 이미지를 사용합니다. exporting to image : 이미지를 빌드하고 있는 단계가 끝났으며, 이미지를 내보내는 단계입니다. => exporting layers : 이미지의 레이어를 내보내는 단계입니다. Docker 이미지는 여러 레이어로 구성되어 있으며, 각 레이어는 변경된 파일들을 포함하고 있습니다. => writing image sha256:c85225625fb8e8572c14c74944213a43a1b92fe78b270278bde228 : 최종 이미지를 기록하는 단계입니다. 이미지의 SHA256 해시값을 보여주며, 해당 해시값으로 이미지를 식별할 수 있습니다
강사님은 mac 환경에서 진행 하셔서 cmd 에서 ` 백틱으로 사용하십니다. 윈도우 환경에서는 ` 대신 $() 사용을 해야하고 해당 기호도 powershell에서만 적용이 됩니다. docker rm $(docker ps -a -q) 위의 명령어를 powershell에 입력 하시면 됩니다.