class1
npm 설치하고 추가로 생기는 모듈도 챙겨야해서 한번더 전체를 카피한다
도커데스크탑을 켜야 엔진이 돌아간다
docker build --tag=backend . -> 뒤에 . 을 붙여야 하는데 현재 폴더에 있는걸 빌드 한다는 뜻이다
dockerfile을 각각 이미지로 빌드 하고 내 컴퓨터에 있는 이미지를 도커허브에 넣어야 한다
docker login->docker push name
도커레포지에 푸쉬하는 이유 : 로컬에만 존재하면 복구 위험이 존재하기때문에 푸쉬한다
레포지에는 하나의 이미지만 존재할 수 있다
https://m.blog.naver.com/ilikebigmac/222035946425
dockfile공부 이후 -> 도커 빌드 계층과 도커 런했을때 새로 생기는 레이어 공부하기
컨테이너 오케스트레이션 -> 컨테이너 중에 문제가 있는지 없는지 자동으로 감시한다
aws 아이콘에 색있으면 서비스
Docker 사용시 데이터 저장방법
1. Docker Volume
2. 바인드 마운트
3. tmpfs 마운트
도커 네트워크 구조
veth: vritual eth
docker0 : 도커 엔진에 의해 기본 생성되는 브릿지 네트워크 -> veth와 eth간 다리역할
class2
마이크로 서비스
trade-off
on-premissed : 기업에서 자체 db서버가 있는 rjt
cloud9에서는 enviroment폴더에서작업해야 한다
dockfile에서
copy ./ /usr/local/apache2/htdocs
의미
run : 이미지빌드
엔드포인트 : 컨테이너
컴퓨터 2개 각각 f,b 존재
c9(ec2)
local -> b.app.js
1. local의 80 : local의 3333들어가서 hello 받아옴
2. local의 3333 : 그냥 hello 리턴
3. c9의 ec2의 80 : localhost 3333 갔다가 돌아옴
이때 localhost 3333은
compose up을 했기 때문에 특정 ip가 아니라 나의 local3333으로 오게 된다
4. 만약 local에서 서버가 돌아가고 있으면 connet X 나오고
5. 만약 local에서 서버가 돌아가지 않으면 CORS가 나온다
+)질문 만약 compose-up을 안하면 ec2에서 어디로 가는지?
compose-up을 안하면 처음부터 도커에 안올라가니까 그냥 접속이 안된다
class3
Run : 이미지 빌드할때
CMD : 컨테이너 실행할때
FROM public.ecr.aws/amazonlinux/amazonlinux:latest
# Apache HTTP Server 프로그램 설치
RUN yum update -y && yum install -y httpd
# 서버 기본 index.html 내용 작성
RUN echo 'Hello World!' > /var/www/html/index.html
# apache 설정
RUN echo 'mkdir -p /var/run/httpd' >> /root/run_apache.sh && \
echo 'mkdir -p /var/lock/httpd' >> /root/run_apache.sh && \
echo '/usr/sbin/httpd -D FOREGROUND' >> /root/run_apache.sh && \
chmod 755 /root/run_apache.sh
EXPOSE 80
CMD /root/run_apache.sh
-> cmd, run차이 공부