프론트엔드와 백엔드의 구조를 보며 도커에 대해 공부했다.
도커는 vmware와 다르게 불필요한 추가적인 운영체제 설치가 필요하지 않다.
Dockerfile라는 파일을 만들고 이미지를 만들기 위한 명령어를 입력한다.
FROM node:16 //node의 16버전(node, npm, yarn 설치되어있음)
WORKDIR /myfolder/ //작업되는 폴더
COPY . /myfolder/ //밖의 소스코드를 모두 복사하겠다는 뜻
CMD node index.js //복사해온 파일 실행
를 입력하고 docker build .
명령어를 입력해 파일이 이미지로 만들어지게 한다.
docker images
로 완성된 이미지 목록을 볼 수 있다.
이 이미지를 실행하기 위해서는 docker run 이미지ID
를 입력한다.
docker run a35a910159dc
여기에서, .gitignore
와 같이 .dockerignore
를 만들어준다.
각자의 컴퓨터 환경이 다르기 때문에 가상컴퓨터에서 모듈을 따로 설치해야하기 때문이다.
도커가 실행중인 터미널 말고 새로운 터미널에서
docker ps
를 입력한다면 현재 프로세스를 볼 수 있다.
STATUS가 UP상태인것을 볼 수 있다.
docker exec -it 컨테이너id /sh
를 입력한다면 컨테이너 내부로 들어간다.
들어가는 이유는 환경변수를 설정하러 내부에 .env를 만들기 위해서라고 한다.
Postman
을 이용해서 Send 요청을 보냈을 때, 에러가 난다.
내 컴퓨터와 express를 연결하는 포트를 설정해줘야 한다.
index.js 를 app.listen을 3001로 설정했기 때문에 docker run -p 3000:3001 imageID
를 입력해준다면