가상머신(VM)은 컴퓨터 안에 또다른 운영체제의 컴퓨터를 설치해서 속도가 느려지고 비효율적이다.
그래서 도커를 이용하면 어떤 운영체제 컴퓨터라도 동일한 운영체제 환경에서 개발환경 세팅이 가능
이미 설치할 목록이 세팅되어 있어 하나하나 설치하지 않아도 된다.
개발,배포환경 통일
프로그램을 미리 설치
VM보다 가벼움
FROM node:14
node,npm,yarn을 다 설치한 EC2(인스턴스)
docker-compose 파일 생성후
docker-compose build
buildId 처음에는 랜덤 생성→yarn build:ssg buildID 특정
const nextConfig = {
reactStrictMode: true,
trailingSlash: true,
generateBuildId: () => 원하는빌드아이디입력,
};
내 컴퓨터와 도커 컴퓨터의 포트 연결- port forwarding 필요
version: "3.7"
services:
class_build:
build:
context: .
dockerfile: Dockerfile
ports:
- 3000:3000
# 포트포워딩
docker-compose up
docker-compose up -d
ctrl+c 눌러도 종료되지 않음
종료할 때는 docker-compose stop
docker ps
docker-compose down
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose docker-compose version
->aws용 도커를 설치하고 실행까지 진행
sudo amazon-linux-extras install docker
sudo service docker start
sudo usermod -a -G docker ec2-user
이 입력이 끝나면 한번 EC2 연결을 종료했다가 다시 열어서 docker-compose build