EC2에 docker 띄우기 전에 .env 파일 RDS에 맞게 변경해준 뒤 RDS에 data dump 잘 들어갔는지 확인 후 실행
***package.json에서 nodemon을 사용했다면, node로 수정해주기
e.g., scripts: "nodemon server.js" > "node server.js"
!!! 명령어 입력 시 괄호()는 빼고 각자 해당하는 명령어로 변경하여 실행
1. Dockerfle 작성
2. buile 명령어 입력 (괄호 안 amd64는 mac 실리콘 칩에 해당)
- docker build (--platform linux/amd64) -t (dockerhub username)/(project name):0.1.0 .
3. 잘 만들어 졌는지 확인
- docker images
4. docker hub에 push해서 올리기
- docker push (dockerhub username)/(project name):0.1.0
5. EC2 접속 ssh~ 명령어 입력
- ssh -i 파일명.pem ec2-user@EC2-PublicIP
(optional) 6. Docker 없으면 설치
- curl -fsSL https://get.docker.com -o get-docker.sh
(optional) 7. get-docker.sh 실행
- sh get-docker.sh 입력
(optional) 8. permission denied 에러가 떴다면
- sudo chmod 666 /var/run/docker.sock
9. docker pull 명령어 입력
- docker pull (dockerhub username)/(project name):0.1.0
10. docker run 실행
- docker run -p (port):(port) (dockerhub username)/(project name):0.1.1
- 실행 중인 docker 확인 명령어: docker ps
- 실행 중인 docker container 멈추기: docker stop (CONTAINER ID)
- 삭제하기: docker rm (CONTAINER ID)
- 에러의 많은 부분은 Dockerfile에서 발생하므로, 에러가 날 때는 Dockerfile에 문제가 없는지 다시 한번 확인해보자.
'환경' 카테고리의 다른 글
[AWS EC2] no space left on device 에러 트러블 슈팅 (0) | 2023.07.12 |
---|---|
[Docker] NestJS 도커 파일 작성법 (0) | 2023.07.04 |
[Docker] 도커파일 작성법 (0) | 2023.06.29 |
[nestjs + ec2 + docker] 트러블 슈팅 일기 (0) | 2023.05.24 |
[AWS RDS] Mysql access denied 에러 트러블슈팅 (+ 해킹 체험) (0) | 2023.05.19 |