본문 바로가기
728x90

docker6

[Docker] 도커 컴포즈(Docker-compose) 작성하기 도커 컴포즈 작성하기 1. docker compose 파일 - docker compose 파일은 도커 애플리케이션의 서비스, 네트워크, 볼륨 등의 설정을 yaml 형식으로 작성하는 파일 - 구성요소 service network volume config secret - Service service는 여러 컨테이너를 정의하는데 사용됨 위 그림처럼 작성 시 'frontend'와 'backend'는 각 컨테이너의 이름이되고 컨테이너를 정의한다. - 컨테이너를 사용할 때 사용되는 키워드 image: 컨테이너의 이미지를 정의 build: 'image'를 활용하는 방식이 아닌 dockerfile의 경로를 지정해 빌드하여 사용하는 방법 dockerfile: 빌드할 dockerfile의 이름이 'Dockerfile'이 .. 2022. 12. 31.
[Docker] 도커파일(Dockerfile) 작성하기 도커파일(Dockerfile) 작성하기 1. Dockerfile 이란? - Dockerfile은 도커 이미지를 생성하기 위한 스크립트 파일 - 여러 키워드를 사용하여 Dockerfile을 작성하여 빌드를 쉽게 수행할 수 있다. 2. Dockerfile 키워드 - FROM from 키워드를 사용하여 base가 되는 image를 지정 주로 OS 이미지나 런타임 이미지를 지정 - RUN 이미지를 빌드할 때 사용하는 커맨드를 설정 - ADD 이미지를 호스트의 파일이나 폴더를 추가 이미지를 복사하려는 디렉토리가 없을 경우 자동 생성 - COPY 호스트 환경의 파일이나 폴더를 이미지 안으로 복사 'ADD'와 동일하게 동작하지만 URL을 지정하거나 압축파일을 자동으로 풀지 않음 - EXPOSE 이미지가 통신에 사용할.. 2022. 12. 30.
[Docker] 컨테이너 통신하기 컨테이너 통신하기 1. 도커 컨테이너와 통신하기 - 도커 컨테이너는 기본적으로 독릭적인 환경에서 실행되기 때문에 컨테이너 밖에서 접근할 수 없다. - 컨테이너와 통신하기 위해서는 컨테이너를 가동시키면서 'p' 옵션을 사용하여 호스트의 포트와 컨테이너의 포트를 설정해야 한다. -p [host_port]:[container_port] - 이 설정은 호스트에서 사용 중인 포트와 겹치지 않아야 한다. - 예시 docker run --name test1 -d httpd docker run --name test2 -d -p 8080:80 httpd /* * --name test1 : test1이라는 이름으로 컨테이너 생성 * -d : 백그라운드로 동작 * -p 8080:80 : 호스트의 포트는 8080, 컨테이너의.. 2022. 12. 29.
[Docker] 컨테이너 구조 및 커맨드 사용법 컨테이너 구조 및 커맨드 사용법 1. 도커 컨테이너 구조 - 도커 컨테이너는 컨테이너 레이어와 이미지 레이어로 구성 - 컨테이너 레이어는 읽기/쓰기 모두 가능한 계층으로 최상단 레이어에 추가된다. - 컨테이너를 실행하고 진행하는 변경사항은 이 계층에 저장된다. - 이미지 레이어는 읽기 전용 계층으로 다른 컨테이너와 공유할 수 있다. - 컨테이너 레이어는 다른 컨테이너가 공유하지 않는 계층이기 때문에 위 그림처럼 이미지 레이어를 공유하고 각각 컨테이너 레이어를 공유한다. => 이미지 레이어를 공유하고 있기 때문에, 용량을 절약하고, 컨테이너마다 동일한 성능을 유지할 수 있다. 2. 도커 명령어 구조 - 도커의 모든 명령어는 'docker'로 시작하며 어떤 대상에게 명령어를 실행할 것인지 구분하면 보기 쉽다.. 2022. 12. 21.
[Docker] React 프로젝트를 Docker를 이용해서 배포하기 Docker를 이용해서 React 프로젝트를 배포해보려 한다. 먼저 AWS 계정이 있어야하고, 인스턴스가 있어야한다. 프로젝트가 ec2에 있는 상태라 가정(나는 git 설치 후 git pull로 받고, npm run build까지 해둔 상태) 지난번 Spring 프로젝트 배포와 비슷하지만 훨씬 간단하다. 1. ec2를 업데이트하고 프로젝트를 받기 위해 git을 설치 한다. # ec2 업데이트 sudo yum update -y # git 설치하기 sudo yum install git 2. 프로젝트 경로 중 package.json과 같은 경로에 Dockerfile을 생성해서 아래 코드를 넣어준다. FROM node:16 as builder # 작업 폴더를 만들고 npm 설치 WORKDIR /usr/src/a.. 2022. 10. 6.
[Docker] Spring 프로젝트를 Docker를 이용해서 배포하기 Docker를 이용해서 Spring 프로젝트를 배포해보려 한다. 먼저 AWS 계정이 있어야하고, 인스턴스가 있어야한다. 1. ec2를 업데이트하고 프로젝트를 받기 위해 git을 설치 한다. # ec2 업데이트 sudo yum update -y # git 설치하기 sudo yum install git 2. 자바를 설치한다. # aws coreetto 다운로드 sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm -o jdk11.rpm # jdk11 설치 sudo yum localinstall jdk11.rpm -y # jdk version 선택 sudo /usr/sbin/alternatives --con.. 2022. 10. 5.
728x90