[React] docker + AWS

Gyuhan Park·2023년 2월 24일
0

react

목록 보기
8/11

EC2에 도커 올리기

로컬에서만 돌릴 순 없잖아?
aws EC2 인스턴스에 도커를 올려보자.

EC2에 도커이미지 가져오기

로컬에서는 docker build 후 이미지 생성하면 바로 docker run이 가능했다.
aws에서 이미지를 또 빌드하지 않고 사용하기 위해 docker hub에 이미지를 push한다.
로컬에서 hub에 push하고 EC2에서 pull하면 이미지를 가져와 사용할 수 있다.

[로컬]
$ docker build --platform linux/amd64 -t rbgksqkr/shopping-image -f ./DockerFile .
$ docker push rbgksqkr/shopping-image
[EC2]
$ sudo apt-get update -y
$ sudo snap install docker
$ sudo chmod 666 /var/run/docker.sock
$ sudo docker pull rbgksqkr/shopping-image
$ sudo docker run -d -p 3307:3000 --name shopping-container rbgksqkr/shopping-image

여러가지 오류들

docker hub에 이미지를 올리기 위해 docker push를 할 때 오류가 발생한다.
[hubID]/[이미지이름] 을 태그 이름으로 지정하면 해결된다.

docker를 EC2에 설치하고 명령어를 쓰면 권한 오류가 발생한다.
docker 권한 오류 : sudo chmod 666 /var/run/docker.sock

docker 이미지를 받아와서 컨테이너에 가동시키려고하면 플랫폼이 일치하지 않는다는 오류가 발생한다. M1 맥북과 EC2 환경을 일치시켜줘야 한다.
맥북 platform 불일치 오류 : docker build --platform linux/amd64 ~

요약

  1. Dockerfile을 생성한다. (로컬)
  2. Docker 이미지를 빌드한다. (로컬)
    docker build --platform linux/amd64 -t rbgksqkr/shopping-image -f ./DockerFile .
  3. Docker Hub에 이미지를 push 한다. (로컬)
    docker push rbgksqkr/shopping-image
  4. EC2 서버에서 해당 이미지를 pull 한다. (EC2)
    sudo docker pull rbgksqkr/shopping-image
  5. EC2 서버에서 컨테이너를 실행한다. (EC2)
    sudo docker run -d -p 3307:3000 --name shopping-container rbgksqkr/shopping-image

EC2에 Docker로 배포하기
도커 아이콘 제작자: Freepik - Flaticon
docker push 에러
docker 설치 후 권한 이슈
platform 이슈

profile
단단한 프론트엔드 개발자가 되고 싶은

0개의 댓글