sudo apt install docker-compose
하지만 컴퓨터가 매우 느려진다!!
그래서 등장한것이 Docker이다!!!
컴퓨터 만드는 과정(이미지)에서 실행하는 명령어 => RUN(여러번 작성 가능!!!)
컴퓨터 실행하는 명령어 => CMD (실행 명령어로서 1번만 작성!! 처음 딱 한번 실행할 것이기 때문에)
//1. 운영체제 및 프로그램 설치(이미 리눅스, node, npm, yarn까지 모두 깔려있는 컴퓨터 다운로드하기)
From node:14
docker 컴퓨터 안에 qqq가 만들어진다.
//2. 내 컴퓨터에 있는 폴더나 파일을 도커 컴퓨터 안으로 복사하기
Run mkdir qqq
왼쪽이 내 컴퓨터 파일 / 오른쪽이 도커 컴퓨터 파일 index.js파일이 qqq안에 복사된다.
COPY ./index.js /qqq/index.js
#qqq파일로 들어가줘!!
WORKDIR /qqq
Run cd qqq
여기까지가 컴퓨터 만들기
// 3. 도커 안에서 index.js 실행시키기( 컴퓨터 실행하기)
CMD node index.js
소스 코드가 수정되면 build를 다시해야한다.
index.js 안에 while(true)를 만들어 컴퓨터가 꺼지지 않게 만들어 줄 수 있으며 docker 컴퓨터로 이동할 수가 있다.
하면 무한 docker를 꺼줄수 있다.
https://docs.docker.com/engine/install/ubuntu/
로컬에서는 각자의 컴퓨터 환경에서 설치된 node_modules
폴더로 모듈을 관리했다면,
가상 컴퓨터에서는 서로 다른 환경에 간섭 받지 않도록 모듈들을 설치를 해줘야합니다.
모든 소스 코드들이 복사 된 후, 모듈을 설치하는 명령어를 추가하여 로컬의 환경에 간섭받지 않도록 dockerfile
을 작성해 줍니다.
node_modules
포트를 전달해줘서 도커 컴퓨터 안에 실행되고 있는 서버를 연동해 줄 수 있다.
docker run -p 3000:3000 컴퓨터(이미지)id
이런식으로 postman에서는 2500으로 받고 docker안에서는 4000을 받게끔 할 수 있다.
index.js가 바뀌었기 때문에
docker build .
을 다시 해줘야 한다.
docker build .
docker images
docker run -p 2500:4000 이미지id
package.json을 바꾸지 않는 다는 가정하에 yarn install을 계속해주는 수고를 덜기 위해 !! (이 경우에는 package.json과 yarn.lock이 있어야 한다!!)
From node:14 COPY ./package.json /myfolder/ COPY ./yarn.lock /myfolder/ WORKDIR /myfolder/ Run yarn install COPY . /myfolder/ CMD yarn start:dev
지워졌던 모든 것을 가져오는 방법
docker ps -a
지워졌던 모든 CONTAINER ID를 가져오는 법
docker ps -a -q
지워졌던 모든 IM를 가져오는 법
docker images -q
지금 쓰고 있는 container을 제외한 모든 것을 지우는 방법
docker ps -a -q
docker images -q