const arr = [1,2,3,4,5]
arr.filter((num) =>{ if(num % 2 === 0) { return num } })
function solution(s) { if (s.length !== 4 && s.length !== 6) { return false; } const answer = s.split("").filter((num) => { return !isNaN(num); // if(isNaN(num) === false){ // return true // } }); return s.length === answer.length; }
const arr = new Array(3).fill(1) console.log(arr) // [1, 1, 1]
function solution(n) { return new Array(n).fill(1).reduce((acc, cur, i) => { const num = cur + i return acc + (n % num === 0 ? num : 0) }, 0) }
sudo apt install docker-compose
컴퓨터 안에 또다른 컴퓨터를 설치
서버를 만들 때에는 3개의 컴퓨터가 필요하지만, 연습을 하기 위해서 Docker라는 가상 컴퓨터가 생겼다.
운영체제에 따라서 조금씩 환경이 달라진다.
그래서 가상 컴퓨터로 모든 운영체제에서 가상머신(VM)
을 실행시킨다.
컴퓨터 안에 컴퓨터가 있으니까 너무 무겁고 느리다.
그래서 비교적 가볍고 빠른 Docker
가 나왔다.
운영체제의 핵심 기능(커널)은 공유하는 가상머신
-> OS전체를 새로 설치하지 않아도 됨
window를 사용하든, Mac을 사용하든 Linux로 통일이 가능하다.
개발/배포환경 동일
프로그램 미리 설치
가벼운 가상컴퓨터
hub.docker.com (FROM)
도커 설치
업로드 - docker push
다운로드 - docker pull / FROM
컴퓨터를 image
라고 한다
docker 컴퓨터는 할 일을 다 하면 꺼진다.
그래서 while문을 사용하여 무한반복하면 꺼지지 않는다.
COPY
(내 컴퓨터 파일) (도커컴퓨터 폴더/파일) - 내 컴퓨터에 있는 파일 도커 컴퓨터 경로에 복사해줌
RUN
명령어 - 명령어 실행시킴
FROM oo
- hub.docker.com에서 oo다운받아줌
CMD
- 실행 명령어로서 1번만 쓸 수 있음
WORKDIR /qqq
- cd qqq
sudo docker build .
- 컴퓨터 만들기
sudo docker images
- 이미지 확인하기
sudo docker run 이미지ID
- 컴퓨터 실행하기
sudo docker ps
- 실행된 컴퓨터 확인하기
sudo docker ps -a
- 모든 컴퓨터 확인하기
sudo docker exec -it 이미지ID /bin/bash
- 도커컴퓨터로 접속하기
sudo docker stop 컨테이너ID
- 컴퓨터 멈추기
sudo docker exec -it 컨테이너ID /bin/bash
x번포트로 들어온 프로그램을 도커컴퓨터 y번포트로 전송해줘야 한다.
들어온 포트를 어떤 포트로 내보낸다.
sudo docker run -p 3000:3000 이미지ID
- 3000번 포트를 받아서 3000번포트로 내보낸다.app.listen(4000)
으로 하고 저장
sudo docker build .
으로 4000번포트의 컴퓨터 저장
sudo docker run -p 2500:4000 IMAGE ID
으로 컴퓨터 실행
postman
에서 localhost:2500/
으로 확인
임시 저장공간
한번 명령어를 쳤을때는 다시 명령어를 실행 안하게 할 수 있다.
캐시를 통해 입력된 값을 가져올 수 있는데,
위에서부터 실행을 해서 위에서 하나라도 캐시가 깨지면 다 깨진다.
sudo docker rm 컨테이너ID
- 컨테이너 한개씩 삭제하기
sudo docker rmi 이미지ID
- 이미지 한개씩 삭제하기
sudo docker ps -a -q
- 생성된 모든 컨테이너ID 한번에 보기
sudo docker 'rm docker ps -a -q'
- 모든 컨테이너 삭제하기
sudo docker images -q
- 이미지ID 한번에 보기
sudo docker rmi 'docker images -q'
- 모든 이미지 삭제
sudo docker system prune -a
- 모든 컴퓨터 컨테이너 한번에 삭제(실행중인 컴퓨터 X)
출처 : 코드캠프