49,500원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
production 환경에서의 volumn의 장점
강의 너무 잘 듣고있습니다 감사합니다~^^ 제 질문은 배포환경(Elastic bean stalk)에서는 docker-compose.yml에 volume으로 매핑한다면 참조가 되지 않을 것 같은데요 가령 아래와 같은 docker-compose.yml을 master에 푸쉬해서 code pipeline으로 Beanstalk에게 넘겨줘서 컨테이너를 실행시킬 것인데, 그 컨테이너안의 /app 폴더가 로컬폴더인 ./frontend 를 가리킬 것 같지는 않은데요. 그렇다면, volume은 배포환경이 아닌, 개발환경에서의 편의를 위해서 사용하는 것인가요? 감사합니다. version: "3" services: frontend: build: dockerfile: Dockerfile.dev context: ./frontend volumes: - /app/node_modules - ./frontend:/app stdin_open: true
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
질문있습니다 ㅎㅎ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 요즘 현업에서도 docker로 데이터베이스를 사용하나요?
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
배포 관련해서 질문있습니다!!!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. travis가 EB에게 파일을 전송하는 데 그러면 EB내의 도커가 실행되고 있는데 로컬 파일내에는 dockerfile, dockerfile.dev, docker-compose 파일이 있는데 이 중 무엇을 통해 도커를 실행하고 어플을 실행하는 건가여?
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
502 에러가 발생합니다.
https://github.com/rere950303/react 이유를 모르겠습니다....Docker running on 64bit Amazon Linux 2 플랫폼입니다.
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
EB로 배포한다는 것이 정확히 어떤것인지 궁금합니다.
travis CI 에서 AWS로 배포한다는 것이 도커 이미지인지, 도커 컨테이너인지, dockerfile인지 궁금합니다.
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker file.dev 질문이 있습니다.
dcokerfile.dev 에는 CMD ""npm" "run" "start" 이라고 되어 있고 travis.yml 에는 script에서 npm run test 라고 되어 있는데 start는 개발환경에서 쓰는 명령어이고 test는 테스트시에 쓰는 명령어로 알고 있는데 해당 dockerfile로 이미지를 만들어서 컨테이너를 만들면 dockerfile에 있는 CMD 명령문ㅇ 대신에 yml. 파일에 있는 scrpit가 덮어쓰게 되는것인가요??
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
travis에서 계속 알 수 없는 오류가 나타납니다ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. travis에서 계속 해당 오류가 나는데 이유를 모르겠습니다ㅠㅠ
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker run volume 옵션 질문 드립니다. ㅠㅠ
┌ test_image(dir) - test_image.jpg ├ tmp.py └ result_image(dir) 위와 같은 file과 dir로 구성한 container하나를 만들었습니다. tmp.py는 test_image라는 dir안의 test_image.jpg를 cv2.read로 읽은 후 이름만 result_image.jpg로 바꿔서 result_image라는 dir안에 저장하는 아주 간단한 python code입니다. 해당 container에 볼륨 마운트 옵션 없이 docker run을 하면 잘 구동이 됨을 확인했습니다. $ docker run container_name docker run 이후 container 내부 구성은 아래처럼 됩니다. (run이 종료되면 result_image.jpg가 사라진다는 것은 이해 했습니다.) ┌ test_image(dir) - test_image.jpg ├ tmp.py └ result_image(dir) - result_image.jpg 여기서 제가 하고싶은 것은 위의 container에 의해 생성된 result_image.jpg를 container로부터 desktop으로 가져오는 것 입니다. 이를 위해 run을 할 때 $ docker run -v /usr/src/app/result_image:/result_image container_name 을 해 보았는데...안됩니다. > container안의 result_image라는 dir과 desktop의 /result_image라는 dir을 마운트 했습니다. container안의 image를 desktop으로 꺼내려면 어떻게 해야 할까요? OS는 windows10이고, vscode의 powershell에서 위 명령어를 입력했습니다. dockerfile은 아래와 같습니다. ------------------------------------ FROM python:3.7-buster WORKDIR /usr/src/app RUN apt-get -o Acquire::Max-FutureTime=86400 update RUN apt-get -y install libgl1-mesa-glx RUN pip install --upgrade pip COPY requirements.txt ./ RUN pip install -r requirements.txt COPY ./ ./ CMD ["python", "tmp.py"] ------------------------------------ 혹시 명령어가 잘못 된 걸까요?
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker build 시 강의랑 로그 다르게 STEP 안나와서 헷갈리는 분들
DOCKER_BUILDKIT=0 을 추가해주시면 됩니다 DOCKER_BUILDKIT=0 docker build -t test . 이렇게 하면 이전 도커 버전과 로그가 같이 나옵니다 https://makeoptim.com/en/tool/docker-build-not-output
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker 사용하다가 2가지 간단한 질문이 있습니다
2가지 질문이있습니다 1. docker container(Guest Os) 안에서 shutdown -r now를 치니깐 컨테이너가아니라 서버(Host Os) 전체가 내려갔습니다. 물론 docker stop후 다시 start 하면 되긴하는데 , 왜 컨테이너내 명령어가 전체 서버에 영향이 갔는지 궁금합니다. 제 생각으로는 root계정이 container(Geust Os)와 서버(Host Os) 공유되서 그런것 같은데, 맞나요?. 2. 윈도우에서 Centos이미지를 생성후 putty로 Centos이미지 컨터이너에 붙을수는 없는건가요? 자기자신에가 접긴하는방법은 docker exec 명령어를 통해서만 가능한부분인가요?
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
컨테이너의 하드디스크는 가상 디스크인가요?
컨테이너의 하드디스크에 적재되는 hello-world 스냅샷이 저장되어 있는 호스트 컴퓨터의 하드디스크 부분이 cgroup으로 인해 해당 컨테이너의 가상 하드디스크 영역으로 설정되는 건가요?
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
이미지가 run 명령어를 갖고 있어야 한다는 말이 이해가 안됩니다
docker run 이미지명 이라는 명령어로 컨테이너를 실행시키는 것과 이미지 안에 스냅샷이 포함되어 있는 것은 이해가 가는데, run 이미지명 명령어를 이미지가 갖고 있어야 한다는 말이 이해가 안됩니다. docker run 이미지명 명령어로 도커 클라이언트가 데몬에 명령을 보내면 도커 데몬이 로컬에 해당하는 이미지가 있는지 확인하고 컨테이너로 만들어 주는 방식인건가요??
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker run smileajw1004/nodejs:latest 나오는 법
docker run smileajw1004/nodejs:latest 명령어 입력 후 Server is running 까지는 확인 했는데, 이후로는 입력이 안되는데 빠져나오는 키가 뭔가요?? Ctrl+C , D , ESC 다 안되네요 ㅠㅠ
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Package.json 파일이 없다는 오류가 나오지 않는 경우
안녕하세요 강사님이 진행하신 그대로 따라서 진행했는데, 도커 파일 빌드 했을 때 Package.json이 없다는 오류가 발생하지 않습니다. Windows OS 의 cmd 창에서 진행하고 있습니다. 이유가 뭘까요?
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
aws 무반응 수정하기
에러 없이 travis에서 잘 끝났는데 aws 무반응이시라는 분들은... travis.yml 파일에서 아래 내용처럼 신규 라인을 추가하시면 됩니다. deploy: provider: elasticbeanstalk edge: true <<- 이거 추가 region: "ap-northeast-2" 관련 레퍼는 아래 링크 참고하셔요 https://yayyz.github.io/2019/11/20/travis-ci-%EB%B0%B0%ED%8F%AC%EC%95%88%EB%90%A0%EB%95%8C.html https://forgiveall.tistory.com/571
- 해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
jest에러 나시는 분들 참고
컴포즈 up 하고 localhost:3000 접속하면 jest/globals is unknown 오류 뜨시는 분들... frontend > package.json 파일 열면 중간 아래쯤에 eslintConfig: { extends: [ "react-app", "react-app/jest" <-- 이 라인 주석 or 삭제 ] } 하시면 됩니다.
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
컨테이너별 하드웨어를 할당받을 때
강의에서처럼 컨테이너 별로 하드웨어 자원을 할당받을 때, 하나의 예를 들면 cpu의 경우 Cpu 코어 별로 컨테이너 별 할당을 하게 되는 방식인건지 아니면, 논리적으로 코어 조차도 분할해서 각 컨테이너가 사용할 수 있는 부분이 구분되는 것인지 궁금합니다. 그리고 앞선 강의에서 도커가 각 컨테이너들을 격리시키는 방법으로 namespaces와 c group이라고 알려주셨는데, 이 기능들이 리눅스 컨테이너의 기술이더라구요. 그래서 그런데 도커가 리눅스 컨테이너 기반의 기술인건가요??
- 해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker-compose 관련 질문입니다.
안녕하세요! 좋은 수업 항상 감사합니다!! 제가 express와 mysql을 이용해서 간단한 회원기능과 게시판 기능을 만들고 이를 docker 이미지로 만들고 있었는데, express에서 비밀번호 해시함수를 위해 bcrypt라는 라이브러리를 사용을 했습니다. 그런데 이 bcrypt에서 docker-compose up 을 하면 사진과 같은 에러가 자꾸 발생합니다. 열심히 구글링을 해봤지만 해결을 못해서 질문 올립니다... 구글링을 해보니 제 로컬 OS환경은 MAC이고 Docker는 Linux여서 이런 OS차이 때문에도 에러가 발생한다고 하더라구요. 도커 알기 쉽게 설명해주셔서 감사합니다 ㅎㅎ 에러 코드 입니다! my_server | node:internal/modules/cjs/loader:1183 my_server | return process.dlopen(module, path.toNamespacedPath(filename)); my_server | ^ my_server | my_server | Error: Error loading shared library /app/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: Exec format error my_server | at Object.Module._extensions..node (node:internal/modules/cjs/loader:1183:18) my_server | at Module.load (node:internal/modules/cjs/loader:981:32) my_server | at Function.Module._load (node:internal/modules/cjs/loader:822:12) my_server | at Module.require (node:internal/modules/cjs/loader:1005:19) my_server | at require (node:internal/modules/cjs/helpers:102:18) my_server | at Object.<anonymous> (/app/node_modules/bcrypt/bcrypt.js:6:16) my_server | at Module._compile (node:internal/modules/cjs/loader:1101:14) my_server | at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) my_server | at Module.load (node:internal/modules/cjs/loader:981:32) my_server | at Function.Module._load (node:internal/modules/cjs/loader:822:12) { my_server | code: 'ERR_DLOPEN_FAILED' my_server | } my_server | [nodemon] app crashed - waiting for file changes before starting...
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
베이스 이미지에 대한 질문입니다.
node와 같은 프로그램(ex> nginx/tomcat)을 꼭 특정 OS (ex> Centos/ubuntu)버전에서 쓰고싶다고하면 도커파일을 어떻게 작성해야하는건가요? Centos 이미지 + node 이미지 각각 만들어서 연동시켜야하는건가요?
- 미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
안녕하세요 다른 질문이 생겨 글 남깁니다.
프로젝트 진행중에 게시판에서 사진 파일을 업로드 하는 기능을 넣어서 사용 하는데 기존에는 백엔드 소스폴더 내에 uploads폴더를 만들어 사용 했습니다. 도커를 이용해서 프로젝트를 배포 시키면 당연히 배포 서버에서 글을 작성하면 괜찮지만, 코드 수정등의 이유로 재 배포를 하면 재 배포된 폴더내용 그대로 들어가게 되어 upload폴더 내용이 초기화 되버립니다. 이런 static 폴더는 애초에 컨테이너를 따로 만들어서 사용하게 해야 하는건가요 아니면 다른 방법으로 해결해야 하나요 궁금합니다!