ecr에 이미지 생성까지하고 ec2터미널에서 로그인석세스까지한후 도커풀 했는데 Using default tag: latest permission denied while trying to connect to the docker API at unix:///var/run/docker.sock 이런에러가 나오네요 도커관련한 에러인거같은데 왜저만나오는걸까요
각 컨테이너마다 고유의 IP 주소를 가지고 있잖아요. docker run -d -p 4000:80 nginx 근데 이 명령어에는 컨테이너의 IP 정보가 없는데, 어떻게 매핑이 되나요? 컨테이너가 여러 개이고, 모두 동일한 포트를 쓰면 구분이 안가잖아요. 호스트 IP: localhost 호스트 포트: 4000 컨테이너 IP: ??? 컨테이너 포트: 80
현업에선 compose.yml도 .env와 마찬가지로 .gitignore에 추가하나요? 이런 경우, compose.yml도 .env 때와 마찬가지로 새로 작성하나요? 그리고 이 강의에선 compose.yml에 MySQL을 작성했는데, 만약 RDS를 사용한다면 MySQL에 관련된 것은 도커 컨테이너에 띄우지 않는다고 이해했는데 맞나요? 그리고 ECR 리포지토리도 삭제하지 않는다면 비용이 발생할까요?
강의를 듣기 전에 학습 자료를 먼저 읽어 봤습니다. 그런데 AWS CLI 설치 및 액세스 키 등록 관련 궁금한 점이 있습니다. https://jscode.notion.site/AWS-EC2-Spring-Boot-91cb5f42afa04e39b6c80a462187d75b 여기선 액세스 키를 등록하기 전에 docker push를 하는데, 액세스 키 등록 전에 aws ecr get-login-password ... 및 AWS ECR에 docker push가 가능한 건가요? 액세스 키는 docker pull이랑만 관련이 있는 건가요? 액세스 키는 무엇을 위해 등록하는지 궁금합니다.
안녕하세요 강사님! 저는 프론트엔드 개발자이고 현재 진행중인 사이드 프로젝트에서 Docker, AWS를 사용해서 Next.js 프로젝트를 배포하려고 합니다. 머릿속으로 큰 그림을 그려봤을때, 강의에서 나오는 컨테이너 역할을 해주는 게 AWS EC2이고 https의 기본 포트는 443번이니까 실제 배포할때는 docker run -d -p 443:3000 my-web-server 이런식으로 포트가 맵핑돼야한다고 이해하고 있는데 제가 올바르게 이해하고 있는 게 맞을까요? 추가로 현재는 로컬에서 직접 docker run -d -p 80:3000 my-web-server를 실행하는데, 배포하게 된다면 이 명령어를 누가 실행시켜주는지도 궁금합니다..!
안녕하세요, 1. 도커 이미지를 이서버 , 저서버 왔다가 하는 경우면 도커 컨테이너?이미지? 안에 있는 volume에 db를 저장해놓는게 좋죠?? (호스트 storage를 이용해 db를 저장할 수도 있다고 하셔서 질문 드립니다) 도커 컨테이너 volume 저장 공간은 원하는 만큼 조정 할 수 있나요 (최대 호스트 디스크 저장공간)? 도커 사용이 처음이라 질문이 모호한점 양해 부탁드립니다..
[01:57] 에 상대경로로 . 을 찍으라고 돼있는데요. 그냥 절대경로 쓰는게 더 낫지 않나요? 절대경로로도 동작하는데, 귀찮게 디렉토리 이동해야 하는 상대경로를 쓰는 이유가 궁금합니다. 혹시 나중에 자동화할때 상대경로를 써야한다든지 등의 실무적인 이유가 있을까요? 제가 모르는 큰 그림이 있는지 궁금합니다.
docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v /Users/jaeseong/Documents/Develop/docker-mysql/mysql_data:/var/lib/mysql -d mysql 이 명령을 하기 전에 mysql_data 폴더는 만들어 놔도 되지만, 폴더 내부에 다른 파일이 있으면 안 된다고 이해했습니다. 그런데 바로 이전 '[실습] Docker로 MySQL 실행시켜보기 - 3 강의' https://jscode.notion.site/Docker-MySQL-3-f07a2d5a24d24bf184e78622e55a6d8c 에서 비밀번호 바꿔 보는 테스트를 할 때, password123으로 컨테이너를 실행한 뒤, 컨테이너를 삭제한 후 mysql_data 폴더는 따로 삭제하지 않아서 mysql_data 내부엔 파일들이 있었을 텐데, 그 이후에 pwd1234로 바꿔서 컨테이너를 다시 생성할 때 오류가 안 났던 이유는 뭔가요?
도커 허브에 있는 postgres:latest인데 https://hub.docker.com/layers/library/postgres/latest/images/sha256-c84595a367a3fe5a4d9dce011490da38c462190e6ac7afb7d2a4c49436c80656 이건 postgres 몇 버전인가요? 다른 Q&A 보니 postgres 버전 관련 얘기가 있어서 최신 postgres가 18버전인지, 그 이상이 나왔는지 보고 싶었는데 저 링크를 들어가도 어디서 확인해야 하는지 모르겠습니다. 그리고 newest는 https://hub.docker.com/layers/library/postgres/14.20-alpine3.23/images/sha256-df852d122662b3a4ef0662daf3572ec3f6251924fbd2e44bc5d9d8ed252ae767 postgres:14.20-alpine3.23인데, 이건 14 버전인가요? postgres 18버전도 나온 거로 알아서 14라는 게 버전은 아닌 거 같은데, 어디서 버전을 확인할 수 있는지 궁금합니다.
"[보충 자료] Docker로 PostgreSQL 실행시켜보기"에 관련 내용이 있기는 한데, 제가 이걸 못 보고 /var/lib/postgresql/data라고 썼다가 제대로 작동이 안 돼서 GPT에 물어보면서 해결했습니다. /var/lib/postgresql/data를 /var/lib/postgresql 이렇게만 바꿔도 오류는 발생하지 않는 것 같습니다. 보충 자료에 나온 것처럼 /var/lib/postgresql/<버전>/docker로 쓰는 거랑 완전히 같은 게 맞는지 확신은 안 되지만 강의 따라하면서 문제는 없었습니다. docker run -d -e POSTGRES_PASSWORD=password123 -p 5432:5432 -v D:\docker-postgresql/postgresql_data:/var/lib/postgresql postgres 위 명령어를 입력하면, 데이터들이 있는 호스트 디렉터리 주소는 아래와 같은 구조가 됩니다.