풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]대시보드
월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
도커 레파지토리 등록 관련 문의
안녕하세요. 꼼꼼한 강의 감사드립니다. 개념이해와 기술 습득에 큰 도움이 되었습니다. aws 환경에서 실습한 내용을 바탕으로 보유중인 라즈베리파이에 우분투를 설치하고 개인적으로 도커기반 프로그램 구현을 하려고 합니다. 도커 설치를 위해 레파지토리 등록 중 아래와 같은 문제가 발생하여 해결 방향성을 여쭙고자 문의드립니다. (관련 자료 : MATERIALS.pdf / 6pg / 4. docker repository 등록) 1. 문제 : 레파지토리 등록 명령을 하면 '404 Not Found' 에러 메시지 발생 2. 개발환경 : 라즈베리파이 3, 우분투 20.04 https://download.docker.com/linux/ubuntu $ Release 에 Release file이 없다고 하는데, 실제 위 경로로 접속을 해보니 ~/ubuntu/dists 에 release 파일이 있는것 같습니다. 이 문제를 해결하기 위해서 1. 강의자료의 명령어에서 /dists 경로를 추가해서 명령 2. 기타 구글링 적용 시도 해보았지만 해결이 되지 않네요. 제가 놓치고 있는 부분이 있는지 강사님이 보시기에 제가 어떤 점을 살펴보아야 할지 문의드립니다. - 라즈베리파이 아키텍처 문제? - 네트워크 문제? 등 초보자라 감이 오지 않네요..
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
실습에 필요한 파일의 제공을 요청드립니다.
안녕하세요, [풀스택 Part3] "도커 활용을 위한 추가 명령 익히기-도커활용하기(주피터 노트북 서버 만들어보기)" 강의 영상을 학습하는 중 "mysql_in_docker.ipynb"라는 파일이 없어서 실습을 진행할 수 없는 상황입니다. 영상에서는 해당 파일은 [풀스택 Part1]에서 제공한 파일이라고 하는데, 저는 도커학습을 위해 [풀스택 Part3] 강의만 구매한 상태입니다. 해당 실습 파일을 구하기 위해서 풀스택 Part1까지 구매를 해야하나요? 아니면 실습용 파일을 제공하는 자료실이 별로도 있는 건가요? 해당 강의의 설명에 필요한 기술만 스탠드 얼론식으로 학습이 가능하다는 식으로 써있어서 저는 이 강의를 구매한 것인데, 강의 중간 중간 실습에 필요한 파일들(예-index.html, mysql_in_docker.ipynb)을 구할 수 없어 불편함을 느낍니다. 인프런 홈페이지를 찾아봤지만 해당 파일을 구할 수 없어 글을 남깁니다.
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
도커컴포즈 테라폼
실무에서 테라폼이라는 걸 많이 쓰던데 도커컴포즈와 테라폼은 어떻게 다른가요 혹시 도커컴포즈는 이미지(프로그램)들을 조합하고 테라폼은 인프라 인스턴스(가상 인프라자원)을 조합하는 차이일까요?
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
아마도 마지막 질문이지 싶습니다.
우선, 굉장히 만족스러운 강의였구요. 딥하고 꼼꼼하게 가르쳐주시는 스타일 덕분에 도커뿐만아니라 전반적인 리눅스 사용, 서버에 대한 이해가 잘되었습니다. 무튼, 사적이고 강의와는 무관하지만 답변해주시면 정말 감사하겠습니다. 질문은 제가 이루다 같은 챗봇을 만들려고 합니다. 전 지금까지 웹,앱 개발쪽으로만 공부해서 js (react, next , node, reactnative 등) 하나만 파왔었는데, 챗봇같은 인공지능은 tensorflow.js 같은게 있긴하지만 감도 안잡히고 어떻게든 파이썬은 거처가야할것같은 느낌이들어서 파이썬을 배우려고합니다. 강의가 무척마음에 들어 되도록끔 잔재미코딩님의 강의로 커리큘럼을 짜보려고하는데, 챗봇을 만드려면 강사님 강의중에 어떤걸 들으면 될까요? 데이터는 성별, 나이 등을 포함하여 채팅을 수집중인데, 인공지능을 학습시킬때 수집방식이 중요한지. 그런것도 모릅니다. MYSQL도 node.js 의 sequelize orm만 익숙하고 raw쿼리는 생초보입니다. 답변해주시면 정말 감사하겠습니다.
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
* * 2 * * 질문
강의 중 * * 2 * * 면 한달에 한번씩이라고 하셨는데 * * 2 * * 이면 매달 2일에 매분마다 실행하라는 뜻 아닌가요? 2일 00시 00분, 2일 00시 01분 .... 이런식으로요.0 0 2 * * 이런식으로 분 시간을 정해줘야 하지않나요??
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
09_HTTPS_NGINX 폴더 관련 질문
강사님 09_HTTPS_NGINX 의 nginx.conf.https 파일에 listen 443 부분위부터 파일끝까지 /* */ 로 주석처리가 되어있던데 혹시 이유가 있나요?그리고 주석처리(/*, */만)를 제거하고 영상과 동일하게 제 도메인으로 다 바꾸고 docker-compose up -d 하고 브라우저로 접속해보면 "~~.com이 연결을 거부했습니다."라고 나오고, docker logs certbot 해보면 Certbot failed to authenticate some domains (authenticator: webroot). The Certificate Authority reported these problems: ~~~~~(도메인) Hint: The Certificate Authority failed to download the temporary challenge files created by Certbot. Ensure that the listed domains serve their content from the provided --webroot-path/-w and that files created there can be downloaded from the internet. Saving debug log to /var/log/letsencrypt/letsencrypt.log Some challenges have failed. Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details. 라고 나옵니다.. 혹시 이게 주석처리랑 관련이 있는건지, 그리고 해결방법이 없는지 궁금합니다.
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
공식문서 설치방법과 차이점
리눅스 우분투에서 도커엔진 인스톨방법이 강의랑 공식문서랑 다소 다른데 두 방법 모두 정상적으로 작동하는것 같습니다만 혹시 차이점이 있을까요?? https://docs.docker.com/engine/install/ubuntu/ 위 링크가 공식문서입니다. 보면 https로 받아오기 위해 하는 세팅과 GPG key 추가하는 명령, 도커 설치 등 다른부분이 많은데 혹시 강의방식과 어떤차이점이 있을까요?
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
ec2 접속 시도시 타임아웃 에러가 발생합니다.
안녕하세요. ec2 접속 부분에서 자꾸만 타임아웃 에러가 나서 접속이 불가능한 상황인데, 해결할 방법을 찾지 못해서 질문 드립니다. 관련 강의 부분은 클라우드 서비스(AWS 서비스 구축) 챕터의 EC2 접속 강의 3분 10초 쯤에 있습니다. 에러 메시지는 다음과 같습니다. ssh: connect to host 3.36.244.35 port 22: Operation timed out 우선 회사 vpn 때문인가 하여 vpn을 끄고 시도해도 계속 같은 에러가 나구요, Security Group의 Inbound Rule을 체크하라고 해서 해보았는데 22 port의 ssh type으로 0.0.0.0/0 설정이 이미 되어 있습니다. 어떤 점을 더 체크해보면 좋을지 질문 드립니다..!
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
docker-comose --version 확인 안되시는분들
현재 기준 Releases · docker/compose · GitHub 최신버전 v2.1.1인데요, 그냥 다운로드 명령어 중간에 버전을 v를 빼고 2.1.1로 하면 다운이 안되더라구요. v도 포함해서 docker-compose 다운로드 받았더니 저의 경우는 해결됐습니다! ex)sudo curl -L "https://github.com/docker/compose/releases/download/v2.1.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
도커 설치에서 강의 명령어대로 하면 안되고 구글링 하니까 됩니다. 무슨 차이일까요?
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ※ 리눅스용 도커 설치 3분40초 안녕하세요 강사님. 리눅스에서 도커를 설치하는데 `sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"` 해당 명령어를 쳤을 때 서버 위치를 제대로 등록하지 못했는지 도커가 설치되지 않았습니다. Package 'docker-ce' has no installation candidate 라는 경고가 떠서 인터넷에 검색해보니 `sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"` 로 입력하니 도커가 설치되었습니다. 저는 한 부분( $(lsb_release -cs))이 달라보이는데 무슨 차이인지, 왜 설치가 되지 않았는지 알 수 있을까요??
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
docker history 사용된이미지
안녕하세요 강사님, 수업을 듣고 있는데 제가 저번에 질문을 드린 부분이 있는데 강사님과 똑같은 설정을 도커파일에 했는데도 포트 9999:80으로 설정 후, 아이피주소:9999를 입력했는데도 페이지를 찾지 못하였다는 질문을 드렸습니다만, 오늘 수업을 보니 docker history라는 옵션이 있어서 질문드립니다. docker history의 경우 어떤 이미지가 사용이 되었는지 표시가 되는 곳으로 이해했는데 맞나요? 제가 이해한것이 맞다면, 제 화면에서 docker history myweb을 한 결과, ubuntu설정 부분에서 강의 3:04부분의 강사님의 docker history myweb의 히스토리와 제 히스토리와 비교해 제것은 너무 조금의 이미지가 사용이 된 것 같아 캡쳐사진 올립니다. 제가 따로 설정을 해야할 부분이 혹시 제가 설정을 안한 부분이나 설정을 더 해야할 부분이 있다면 알려주신다면 감사하겠습니다.
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
expose설정 후 docker run 시 docker ps에 아무것도 표시안됨
안녕하세요 강사님 강의 5:47쯤에 Dockerfile-apache에 expose설정을 80으로하고 도커 inspect로 ExposedPorts가 "80/tcp"로 설정된 것을 확인 후, 강사님과 같이 docker run -P -d myweb을 실행 후 docker ps를 돌려보았습니다. 제가 앞 강의에서 무엇인가 놓친 것인 지 확실히 잘 모르겠지만 docker ps 명령어를 입력하면 표시되는 것이 없습니다. d 명령을 사용하면 백그라운드에서 돌아가게끔 되어있어야한다고 생각하는데 docker ps -a로 들어가보면 STATUS가 Exited로 표시되어있습니다. 사진 첨부 드립니다. 또 어떤 부분을 놓쳤는지 잘 모르겠는데 p 옵션을 사용해 9999포트로 연결하게 끔 설정을 해도 설정이 안됬는지 제 퍼블릭IP주소:9999로 들어가면 페이지에 연결할 수 없습니다 라는 메세지가 표시됩니다. 하지만 아래와 같은 식으로 , 입력을 해야지만 index.html파일에 연결되어 표시가 됩니다. docker run -d -p 9999:80 -v /home/ubuntu/2021_DEV_HTML:/usr/local/apache2/htdocs --name apacheweb httpd:alpine 어떤것이 잘못되었을까요? ㅜㅜ
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
/usr/local/apache2/htdocs폴더 생성이슈
안녕하세요 강사님, docker run -d -p 9999:80 --name apacheweb2 httpd 후에 It works 까지 뜨는 것을 확인하였고 -v옵션을 사용하기 위해 /usr/local/apache2/htdocs폴더를 찾으려 cd 명령어로 디렉토리를 입력했지만 아래와 같이 명령어가 떴습니다. cd: /usr/local/apache2/htdocs: No such file or directory 이거 왜 이런 걸까요? 혹시 apache가 제대로 설치가 안되서 이런건지 궁금합니다.
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
Command에 대해서
안녕하세요 강사님, 보다가 궁금한게 생겨 질문 남깁니다. 강의를 따라하면서 수강하는 중인데 도커 컨테이너를 만든 후 docker ps -a 명령어로 만들어진 컨테이너를 확인해보니 제 쪽에서는 COMMAND에 "bash"만 떠있던데, 강의에서는 이 COMMAND가 컨테이너를 만드는 이미지에 그 컨테이너에서 실행될 명령이 무엇인지 적어놓게 되어있고 그래서 적혀있는 부분이 COMMAND라고 하셨는데 전 아무런 설정도 하지 않았는데 기본적으로 만들어지면 강사님 창처럼 /bin/bash로 뜨는 건지 제거는 왜 bash만 표시가 된 것일까요?
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
putty 접속 hostname
안녕하세요. 강의 듣고 PuTTY를 다운로드하여 윈도우에서 접속을 시도하려했습니다. 강의에서 hostname에 ubuntu@퍼블릭IPv4주소를 입력하라고 되어있었는데 그렇게 하니 접속이 안되더라구요. 앞의 ubuntu@를 지우고 ip주소만 입력을 하니 로그인이 되었습니다. 대신 로그인을 하니 login as라는 명령어가 떠서 거기에 ubuntu를 입력하니 접속가능했구요. 왜그런 걸까요?
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
도커 이미지
도커 이미지라는 것의 개념이 잘 안서는데 이미지가 파일형태로 존재할까요 아니면 이것은 일종의 폴더 안에 내용 전체를 말하는 것일까요
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
nginxproxy 설정 부분에서 질문있습니다!
안녕하세요. 강사님 정말 좋은 강의 만들어주셔서 너무 감사드립니다. 다름이 아니라 강의를 듣던 중 nginx.conf 설정 부분에서 upstream 으로 실행중인 container 를 지칭하는 부분에 대해 이해가 되지 않는 부분이 있어 질문드립니다! 질문 내용은 1. 다음과 같은 환경에서 - nginxproxy, react를 띄우는 docker-compose.yaml version: "3" services: nginxproxy: depends_on: - client image: nginx:latest ports: - "80:80" - "443:443" restart: always volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf - ./certbot-etc:/etc/letsencrypt - ./myweb:/usr/share/nginx/html container_name: nginxproxy certbot: depends_on: - nginxproxy - client image: certbot/certbot container_name: certbot volumes: - ./certbot-etc:/etc/letsencrypt - ./myweb:/usr/share/nginx/html command: certonly --webroot --webroot-path=/usr/share/nginx/html --email example@gamil.com --agree-tos --no-eff-email --keep-until-expiring -d example.com -d www.example.com front: restart: always build: context: /home/ubuntu/client dockerfile: Dockerfile ports: - "4000:80" # if want direct access container_name: client - Front의 DockerFile로 실행되는 서버는 80포트로 요청을 받고 있습니다. - 80 포트 /client 으로 들어오는 요청 front:4000 으로 전달하고 있는 nginx.proxy upstream docker-client { server front:4000; } server { listen 80; server_name example.com www.example.com; location ~ /.well-known/acme-challenge { allow all; root /usr/share/nginx/html; try_files $uri =404; #try_files $uri /index.tsx; } # Redirection location / { return 301 https://$host$request_uri; } } server { listen 443 ssl; server_name example.com www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; proxy_connect_timeout 1d; proxy_send_timeout 1d; proxy_read_timeout 1d; location /client/ { proxy_pass http://docker-client; proxy_http_version 1.1; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Forwarded-Proto $scheme; } 2. client Browser 에서 http://example.com 으로 요청했을 때 3. 예상되는 결과는 아래와 같습니다. --------------- 4. 그러나 결과적으로 정상적으로 요청이 처리되고 있는데 제가 놓치고 있는 부분이 어디인지 알 수있을까요? + upstream 부분을 아래로 바꾸어도 정상동작합니다 upstream docker-client { server front; }
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
docker-compose의 volumes에 대한 질문입니다
안녕하세요! 헷갈리는 것이 있는데 혼자 테스트를 해보아도 잘 모르겠어서 질문드려요! docker-compose의 volumes를 이용했을때.. 어떤 경우에는 호스트의 폴더를 컨테이너의 폴더에 덮어 씌우고 어떤 경우에는 컨테이너의 폴더를 호스트의 폴더에 덮어씌우는것 같아요.. 전자의 경우 nginx컨테이너의 폴더가 덮어씌워짐 (호스트폴더:/usr/share/nginx/html) 후자의 경우 (컨테이너로 생성한 mysql의 폴더가 호스트에 생성됨) 무엇을 기준으로 이렇게 결과가 달라지는 건가요?! ㅠ_ㅠ
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
웹서버와 내부서버(WAS?)는 사실 서로 다른 호스트에 있어야 하는것인가요?
안녕하세요, 좋은 강의 감사합니다! 프록시 서버가 내부 서버에 로드밸런싱 역할을 하는데 제가 생각하기에 지금 강의에서는 하나의 AWS호스트 서버에 가상머신을 여러개 두었을 뿐이라 성능상에 이득이 없어보입니다. (맞을까요?) 그렇다면 지금은 aws서버를 하나밖에 쓰지 못하는 상황이기에 예제로 보여주기 위해서 이렇게 하시는거고 원래대로라면 aws서버를 하나 더 파서 nginx컨테이너만 따로 두는식으로 만드는것이 맞는것인가요? 강의에서처럼 proxy-niginx / nginx / apache 이렇게 되어있다면 사실상 aws서버 세개를 가지고있어야 하는것이 맞는것인가요? (세가지 다 웹서버라 이게 맞는지는 모르겠네요 ㅠ)
- 미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
restart true
선생님 강의를 보고 자신감 얻고 도커를 이용해 배포를 도전해보고 있습니다! 감사합니다. 다름이 아니라 궁금한 점이 docker-compose 에서 container에 restart를 true로 설정하는 것이 pm2와 같은 무중단 배포를 단순히 restart 명령어만 사용함으로써 구현이 되는 것으로 이해해도 될까요? 음 아니면 애초에 docker-compose -d 명령어가 pm2로 구현하는 것과 같은 무중단 배포를 구현하는 것인가요? 감사합니다!