묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발자를 위한 쉬운 도커
컨테이너 실행 명령어관련 질문드립니다.
명령어 관련해서 헷갈리는 부분이 있어 질문드립니다.명령어 "docker run ~" 관련해서 '-p' 옵션을 따로 추가해서 설정하지 않고 실행하면 특정 포트로 publishing이 되지는 않지만 컨테이너가 내부에서 그냥 실행 되고있는건가요??
-
해결됨개발자를 위한 쉬운 도커
이미지 레이어 관련 궁금증 질문드립니다!
안녕하세요 궁금증이 생겨 질문드립니다!강의 중 엔진엑스로 만든 이미지가 있는데 index.html이 다른 A가 있고 B가 있다라는 예시가 있었습니다. 이때 아래와 같이 설명해주셨는데요 이미지를 공유해서 사용하는거랑 컨테이너 생성속도랑 어떻게 연관이 있는건지 잘 이해가 가지 않아 질문드립니다.동일한 이미지로 컨테이너를 아주 많이 만들어도 이 이미지로 실행된 모든 컨테이너가 하나의 이미지를 공유해서 읽어옵니다. 실제로 큰 부분을 차지하는 이미지를 하나로 유지할 수 있기 때문에 컨테이너를 생성할 때 속도가 빨라지는 것이죠. 또한 아래와 같이 설명해주셨는데요컨테이너를 만들 때 사용된 이미지에 따라서 이미지의 읽기 전용 레이어 전체를 공유할수도 있고 일부만 공유할 수도 있습니다 이렇게 이미지의 읽기 전용 레이어를 활용하면 컨테이너를 실행할 때 전체 공간을 복사하지 않아도 되기 때문에 컨테이너를 빠르게 실행할 수 있습니다. 그리고 컨테이너가 늘어나면서 사용하는 공간을 최대한 작게 관리할 수 있습니다.엔진엑스 이미지 A가 다운받아져있다 가졍하고 index.html이 다른 이미지 B를 다운 받는다 가정해보겠습니다. 이미지 B를 다운받을때 이미지 A와 레이어가 같은것은 다운받지 않고 레이어가 다른 index.html레이어만 다운받는걸까요? 컨테이너가 늘어나면서 사용하는 공간을 최대한 작게 관리할 수 있다라는게 어떤것인지 잘 이해가 되지 않아 질문드려봅니다 (레이어별로 파일이 나뉘어 있는걸까요)혹시 위와 같은 부분을 실습으로 확인할 수 있는 것이나 공식문서 부분에서 확인할 수 있는게 있다면 같이 부탁드립니다!
-
미해결개발자를 위한 쉬운 도커
docker compose 사용시 프론트엔드에서 백엔드 연결
저번에 질문했었던 사람입니다.테스트로 인하여 코드가 계속 변경되어 새로 글 올립니다. 프론트엔드를 nextjs를 사용하고, 백엔드는 nestjs를 사용중입니다.nextjs에서 .env파일에 backend_url을 입력해놓고, nextjs에서 process.env.backend_url 을 통해서 사용중입니다. github 주소 : https://github.com/ababqw123/wedding-app이고,프론트엔드에서 .env파일에 backend 주소는 현재 로컬 테스트로로 작성해서 localhost의 8080 포트를 사용중이고, process.env.NEXT_PUBLIC_SERVER_URL을 통해서 가져오고 있습니다.docker compose에서도 8080포트로 지정을 따로 해주었습니다.docker로 연결했을 때 백엔드 주소를 어떻게 설정해야할지 정확하게 몰라서 문의 드립니다.
-
해결됨실전도커: 도커로 나만의 딥러닝 클라우드 컴퓨터 만들기
컨테이너와 호스트 리눅스 버전이 달라도 되는이유
안녕하세요 비전공자라 운영체제의 대한 지식이 없어서 맞는 질문인지 모르겠습니다제가 이해한건 개인피시 운영체제 커널을 이용하여 도커 리눅스 운영체제 커널을 만들고 거기서 각각의 독립적인 환경을 만들어 이식한다라고 이해했습니다 컨테이너 만들 때 사용한 커널의 리눅스 버전과 이식할려는 서버의 리눅스 버전이 달라도 상관 없다는게 왜 그런건지 잘 모르겠습니다 인터페이스 방식이 아닌 커맨드방식?이라서 그런건가요감사합니다
-
해결됨개발자를 위한 쉬운 도커
COPY --from=build /app/build/libs/*.jar /app/leafy.jar 명령어 질문
안녕하세요. 백엔드 Dockerfile 내용 보고서 질문이 있습니다. 실제로 실습을 하다 보면 /build/libs에서 이렇게 jar 파일이 두개가 생기는데요. COPY --from=build /app/build/libs/*.jar /app/leafy.jar 이 명령어는 .jar 확장자 파일 모두 leafy.jar이름으로 복사한다는 의미인거 같은데요. 이렇게 2개의 파일이 있거나 또는 2개 이상의 파일이 있을때.. 1) 마지막 파일 기준으로 복사가 되는걸까요? 2) 아니면 두개의 파일이 합쳐져서 leafy.jar로 하나로 복사가 되는걸까요? 두개의 파일이 하나로 합쳐진다면 실행할때 잘 안될거 같은 느낌이 들어서요. 3) 추가적으로 -plain과 그냥 .jar파일 차이점도 궁금하고 왜 2개가 나오는지도 궁금합니다.
-
해결됨개발자를 위한 쉬운 도커
docker compose 사용시 프론트엔드에서 백엔드 연결
프론트엔드를 nextjs를 사용하고, 백엔드는 nestjs를 사용중입니다. nextjs에서 .env파일에 backend_url을 입력해놓고, nextjs에서 process.env.backend_url 을 통해서 사용중입니다. docker compose를 사용하여 백엔드와 프론트엔드를 실행 시키면 같은 docker network에 붙어있고compose의 프론트엔드에 environment에 backend_url을 backend이름으로 적었을 경우backend url이 아닌 현재 url을 불러옵니다. 어디가 문제일까요?
-
해결됨개발자를 위한 쉬운 도커
redis 운영 방법
일단 유익한 강의 감사드립니다 !강의 리마인드 중 갑자기 의문이들어서 질문 드려봅니다.Redis, PostgreSQL 등 db가 서버와 같은 머신에 설치되지않고 따로 별도의 머신에 설치되고 있습니다.대부분의 아키텍쳐가 이런 형상인데 서버랑 분리해서 따로 운영하는 이유가 있을까요?
-
해결됨개발자를 위한 쉬운 도커
leafy 사이트 로그인 에러 문의
안녕하세요. leafy 사이트 로딩까지 하였고 DB 백엔드, 프론트엔드까지 도커실행 완료했어요.. 근데 사이트 로그인이 안되네요 ㅋㅋㅋ id : john123@qmail.compw: password123 이걸 아무리 여러번 쳐도 똑같아요.. 1. 궁금한게 postgre DB를 도커에서 다운받으면 초기 데이터가 들어가있는걸까요?? 이거 로그인이 안되서 postgre DB를 살펴보고 싶은데 docker 실행중인 DB 데이터 확인할수 있는 방법 있을까요?
-
해결됨개발자를 위한 쉬운 도커
JVM 디버거 연결이 실패합니다.
안녕하세요 !우선 좋은 강의 감사드립니다. Remote JVM Debug 연결이 되지 않습니다.Configuration은 다음과 같습니다.LeafyDevContainerLocalDevContainerDebug 위와 같이 설정했는데,Error running 'LocalDevContainerDebug': Unable to open debugger port (localhost:5005): java.net.ConnectException "Connection refused: connect" 해당 에러가 발생합니다.혹시 제가 놓친 게 무엇일까요?
-
해결됨개발자를 위한 쉬운 도커
sudo docker-compose up -d
안녕하세요! 먼저 정말 유익한 강의 감사합니다. 깃허브 오픈소스의 리드미 파일이나블로그에서는 주로 아래와 같은 명령어가 보였습니다.sudo docker-compose up -d그런데 강의에서 보이는 명령어는 docker와 compose 사이에 대쉬('-')가 보이지 않는데요.Docker의 버전이 올라가면서 명령어도 바뀐건가요?
-
해결됨개발자를 위한 쉬운 도커
VSC에 이미 깃허브 로그인 되어 있는 경우 커밋 push 해도 Actions 실행 안되는 케이스
제가 이미 VSC에 깃허브 로그인이 되어있었고커밋 푸시를 했는데도 액션이 실행이 안되었는데,아래 글을 보고 해결했습니다.08-cicd 브랜치 터미널에서 다음 <내용> 칸에 본인에 맞는 값을 채운뒤 실행하면 됩니다.git remote set-url origin https://<personal_access_token>@github.com/<your_username>/leafy.git https://stackoverflow.com/questions/66231282/how-to-add-a-github-personal-access-token-to-visual-studio-code
-
해결됨멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
왜 워커노드에도 kubectl을 설치하는 것인가요?
아직 한참 배울 게 많은 학생입니다.kubectl은 사용자가 쿠버네티스에 명령을 내릴 때 사용하는 도구라고 들었습니다. 그런데 사용자는 마스터 노드에 대해서만 통신을 진행하면 되는 것으로 알고 있는데 어째서 모든 노드들에 kubectl을 설치해야 하는 것인가요?
-
미해결개발자를 위한 쉬운 도커
윈도우 사용자 질문
안녕하세요 데브위키님윈도우 사용자는 터미널을 실행한다고 했을 때 PowerShell을 항상 실행하면 되는건가요??그리고 현재 강의에서 사용하시는 mac 명령어와 window 명령어가 동일한가요?
-
해결됨실전도커: 도커로 나만의 딥러닝 클라우드 컴퓨터 만들기
remote tunnel 접속 오류 문의
안녕하세요 Daniel 선생님왜 갑자기 remote tunnel 접속의 오류가 발생하는 걸까요!?지난 주까지 강의 Module 7 과정을 잘 완료 했습니다.그리고 오늘 Module 8을 학습을 위해서 아래 처럼, SSH 로그인 하고 이미 설정된 순서대로 remote tunnel방식으로 connection을 여러번 시도하지만 안 됩니다.다음과 같이 애러 메시지가 나옵니다.'Failed to connect to the remote extension host server (Error: WebSocket close with status code 1006)'vs ext - Remote Tunnels version 입니다.의견을 부탁 드립니다. 감사합니다.몇일 동안 shut-down을 걸어 뒀다가 오늘 다시 서버를 가동했는데요. 누락한 절차가 있을까요?직접 remote desktop으로 서버로 접속하는데는 문제가 없었습니다.
-
해결됨개발자를 위한 쉬운 도커
컨테이너 실행이 안됩니다.
안녕하세요.이미지 레지스트리 실습을 따라가던 도중에개인 레포지토리에 올린 이미지를 run할 때WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested해당 경고가 뜨고, 컨테이너가 계속해서 바로 종료됩니다.
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
The repository 'https://apt.kubernetes.io kubernetes-focal Release' does not have a Release file.
아래의 순서로 쿠버네티스 설치 작업하는 도중에 에러가 발생하고 있습니다.apt-get install -y apt-transport-https ca-certificates curlcurl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.listdeb https://apt.kubernetes.io/ kubernetes-focal main EOFapt-get update [에러 로그]===================================================================Err:7 https://packages.cloud.google.com/apt kubernetes-focal Release 404 Not Found [IP: 172.217.164.110 443]Reading package lists... DoneE: The repository 'https://apt.kubernetes.io kubernetes-focal Release' does not have a Release file.N: Updating from such a repository can't be done securely, and is therefore disabled by default.N: See apt-secure(8) manpage for repository creation and user configuration details===================================================================답변 부탁드립니다.감사합니다.수고하세요.
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
The repository 'https://apt.kubernetes.io kubernetes-xenial Release' does not have a Release file.
쿠버네티스 설치 작업하는 도중에 에러가 발생하고 있습니다.쿠버네티스 설치 명령어 순서apt-get install -y apt-transport-https ca-certificates curlcurl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.listdeb https://apt.kubernetes.io/ kubernetes-xenial mainEOFapt-get updateapt-get update 명령어를 사용하면 404 에러가 뜨고 있습니다.root@k8s-master:/home/vagrant# apt-get install -y apt-transport-https ca-certificates curlReading package lists... DoneBuilding dependency treeReading state information... Doneca-certificates is already the newest version (20230311ubuntu0.20.04.1).The following NEW packages will be installed:apt-transport-httpsThe following packages will be upgraded:curl libcurl42 upgraded, 1 newly installed, 0 to remove and 99 not upgraded.Need to get 398 kB of archives.After this operation, 162 kB of additional disk space will be used.Get:1 http://us.archive.ubuntu.com/ubuntu focal-updates/universe amd64 apt-transport-https all 2.0.10 [1,704 B]Get:2 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 curl amd64 7.68.0-1ubuntu2.21 [161 kB]Get:3 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libcurl4 amd64 7.68.0-1ubuntu2.21 [235 kB]Fetched 398 kB in 4s (110 kB/s)Selecting previously unselected package apt-transport-https.(Reading database ... 112280 files and directories currently installed.)Preparing to unpack .../apt-transport-https_2.0.10_all.deb ...Unpacking apt-transport-https (2.0.10) ...Preparing to unpack .../curl_7.68.0-1ubuntu2.21_amd64.deb ...Unpacking curl (7.68.0-1ubuntu2.21) over (7.68.0-1ubuntu2.19) ...Preparing to unpack .../libcurl4_7.68.0-1ubuntu2.21_amd64.deb ...Unpacking libcurl4:amd64 (7.68.0-1ubuntu2.21) over (7.68.0-1ubuntu2.19) ...Setting up apt-transport-https (2.0.10) ...Setting up libcurl4:amd64 (7.68.0-1ubuntu2.21) ...Setting up curl (7.68.0-1ubuntu2.21) ...Processing triggers for man-db (2.9.1-1) ...Processing triggers for libc-bin (2.31-0ubuntu9.9) ...root@k8s-master:/home/vagrant# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -OKroot@k8s-master:/home/vagrant# cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list> deb https://apt.kubernetes.io/ kubernetes-xenial main> EOFdeb https://apt.kubernetes.io/ kubernetes-xenial mainroot@k8s-master:/home/vagrant# apt-get updateHit:1 http://us.archive.ubuntu.com/ubuntu focal InReleaseGet:2 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]Hit:3 http://us.archive.ubuntu.com/ubuntu focal-backports InReleaseHit:4 https://download.docker.com/linux/ubuntu focal InReleaseHit:5 http://security.ubuntu.com/ubuntu focal-security InReleaseIgn:6 https://packages.cloud.google.com/apt kubernetes-xenial InReleaseErr:7 https://packages.cloud.google.com/apt kubernetes-xenial Release404 Not Found [IP: 142.251.214.142 443]Reading package lists... DoneE: The repository 'https://apt.kubernetes.io kubernetes-xenial Release' does not have a Release file.N: Updating from such a repository can't be done securely, and is therefore disabled by default.N: See apt-secure(8) manpage for repository creation and user configuration details.
-
해결됨개발자를 위한 쉬운 도커
docker login이 안됩니다. (desktop과 git bash에서)
환경 문제 관련 문의 드립니다. 문제 1. docker desktop에서 login을 시도하면 WebBrowser에 아래와 같은 화면이 나오고, Desktop에서는 아래와 같이 login을 준비하지만, login이 되지 못하고 logout되는 현상이 있습니다. 이에 git bash 에서 login을 하려고 해도 아래와 같은 메시지가 나옵니다.$ docker loginError: Cannot perform an interactive login from a non TTY device OS는 : Windows11이고Docker desktop version : 4.28.0 입니다.
-
해결됨개발자를 위한 쉬운 도커
이미지 작성 방법
안녕하세요. 강의에서는 파일 빌드를 이미지에서 수행하는데 그렇게 하지 않고 인텔리제이 같은 ide에서 빌드를 한 후에 그 파일 자체를 복사해서 실행하는 이미지를 생성해도 상관 없나요? 어떤게 더 좋은 방법인가요?
-
해결됨개발자를 위한 쉬운 도커
npm install 하는 이유
Dockerfile을 만들때 RUN 지시어에서 npm install 을 하는 것은 node module 폴더가 build context에 없기 때문인건가요?만약에 build context 폴더에서 npm install 명령으로 node module 에 라이브러리들을 다운 받은 상태에서 Dockerfile 에서 COPY 명령으로 ./ / 를 작성하면 node module 도 그대로 복사가 되고 그러면 굳이 RUN 명령어로 npm install을 안해도 되는건가요?