Загружаем каталог…
Загружаем каталог…
질문 Q1: 레지스트리란? Docker 이미지를 저장하고 배포하는 저장소 서비스이다. 대표적인 예가 Docker Hub, AWS의 ECR이다. 레지스트리 안에는 이미지별 레포지토리가 있고, 레포지토리 안에서 latest 같은 태그로 이미지 버전을 구분한다. Docker Hub 외부에 공개가 되어 있지만 AWS ECR은 공개하고 싶지 않은 이미지를 저장할 때 주로 사용한다. Q2: 왜 Docker Client는 Docker Daemon과 TCP/IP 네트워크 통신이 아닌 Unix socket 파일 시스템 통신을 하지? Linux에서 Docker CLI는 기본적으로 /var/run/docker.sock을 통해 Docker Daemon에 요청한다. 여기서 소켓은 일반 파일처럼 디스크에 데이터를 쓰고 읽는 방식이 아니다. 파일 경로를 접점으로 사용하는 프로세스 간 통신 방식이다. 핵심은 같은 컴퓨터 안의 Docker Daemon에 접근할 수 있는 사용자를 운영체제 권한으로 제한하고, Docker 제어 API를 네트워크에 노출하지 않기 위해서이다. Q3: 보안 그룹이 필요한 이유? EC2나 RDS 같은 AWS 리소스에 허용할 네트워크 통신을 제한하기 위해서이다. 가상 방화벽 역할을 한다. Q4: 인바운드 규칙이란? 리소스로 들어오는 트래픽을 허용하는 규칙이다. Q5: VPC란? Virtual Private Cloud이며, AWS 안에서 사용하는 논리적으로 분리된 가상 네트워크이다. Q6: Docker Compose란? 여러 컨테이너의 실행 설정을 YAML 파일로 정의하고 함께 관리하는 도구이다. Q7: 이미지 레이어란? Docker 이미지를 구성하는 파일 시스템 변경 사항의 단위이다. Docker에서는 변동이 생기면 전체 파일을 다시 저장하는 대신, 이번 단계에서 추가된 파일을 새 레이어에 저장한다. 여기서 기존 레이어는 그대로 유지된다. Q8: sudo의 뜻? 다른 사용자의 권한으로 명령을 실행하는 명령어이다. 기본적으로 root 권한을 사용한다. IAM IAM: Identity and Access Management. AWS 리소스에 대한 접근을 안전하게 관리할 수 있도록 도와주는 서비스. Dockerfile 작성 및 이미지 빌드 # JDK 21 기반의 OpenJDK 이미지를 사용 FROM openjdk:21-jdk-slim # 작업 디렉토리 설정 WORKDIR /app # 빌드된 JAR 파일을 컨테이너에 복사 COPY build/libs/*.jar app.jar # 8080 포트 노출 EXPOSE 8080 # 애플리케이션 실행 ENTRYPOINT ["java", "-jar", "app.jar"] 위처럼 Dockerfile을 생성하여 입력을 하고 Docker 이미지 빌드를 하였지만 오류가 발생하였다. Docker Hub의 openjdk 이미지는 공식적으로 사용 중단 권고 상태이며 대체 이미지를 사용하도록 안내하고 있다고 한다. 따라서 아래와 같은 코드를 입력하였다. 코드 설명 FROM eclipse-temurin:21-jdk 이미지의 기반이 될 이미지를 지정한다. Java를 직접 설치하는 대신, 이미 설치된 환경에서 시작하는 것이다. WORKDIR /app 컨테이너 내부의 작업 폴더를 /app으로 설정한다. 폴더가 없으면 생성된다. COPY build/libs/*.jar app.jar 내 컴퓨터에서 빌드한 JAR 파일을 이미지 안으로 복사한다. EXPOSE 8080 이 컨테이너의 애플리케이션이 8080 포트를 사용할 예정이라는 정보를 표시한다. Docker Push docker push [MY DOCKER ID]/springboot-twitter:latest Docker Push 과정 Docker CLI가 Docker Hub API를 통해 인증을 확인한다. 이미지 레이어가 Docker Hub로 전송된다. 업로드가 완료되면 Docker Hub 웹사이트에서 이미지를 확인할 수 있다. Docker Pull docker pull [MY DOCKER ID]/springboot-twitter:latest Docker Pull 과정 Docker CLI는 Docker Hub API를 통해 이미지 메타데이터를 요청한다. 필요한 레이어만 다운로드한다. 다운로드가 완료되면 로컬에서 이미지를 사용할 수 있다. EC2에서 MySQL 클라이언트 설치 sudo dnf install -y mysql-community-client 이렇게 하니까 안 되고 sudo dnf install -y mariadb105 이렇게 하니까 됨.
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
TAVE 2주차 스터디. 질문 Q1: 레지스트리란? Docker 이미지를 저장하고 배포하는 저장소 서비스이다. 대표적인 예가 Docker Hub, AWS의 ECR이다. 레지스트리 안에는 이미지별 레포지토리가 있고, 레포지토리 안에서 latest 같은 태그로 이미지 버전을 구분한다. Docker Hub 외부에 공개가 되어 있지만 AWS ECR은 공개하고 싶지 않은 이미지를 저장할 때 주로 사용한다. Q2: 왜 Docker Client는 Docker Daemon과 TCP/IP 네트워크 통신이 아닌 Unix socket 파일 시스템 통신을 하지? Linux에서 Docker CLI는 기본적으로 /var/run/docker.sock을 통해 Docker Daemon에 요청한다. 여기서 소켓은 일반 파일처럼 디스크에…
Открыть источник