-
[산대특] Docker backup/restore, export/import, 이벤트, Dockerfile, Multi-Stage, Express, Node.js, React, Flask,[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정/Cloud 2024. 11. 5. 09:54
1104
조직에서 모두 동일한 환경의 가상 머신을 이용하게 backup/restore 하여 파일을 만들 수 있다.
docker save -o ~~
docker load -i ~~~
export/import 로도 할 수 있다.
export 로 파일을 tar로 추출, import로 다른 이름으로 저장.
export 와 save 는 압축되는 파일 구조&디렉터리가 다르다.
export : 컨테이너를 동작하는데 필요한 모든 파일을 압축. (컨테이너의 루트 파일 시스템 전체가 포함)
save : 레이어 구조까지 포함한 형태로 압축
이러한 이미지 생성하는 방법은 아래와 같다
- docker hub 이용 - 무료
- 웹에서 Organization 생성, 팀원과 공유 - 유료
- 웹에서 WebHook 생성, 팀원과 공유 - 각 서버에 배포하는 어플을 작성할 때 유용
- 사설 이미지 저장공간 레지스트리 생성 - 내부에서만 사용할 경우 -> 레지스트리 다운하여 사용
Docker 이벤트
df events info prune stats 이러한 명령어로 실행중인 리소스를 실시간으로 모니터링 가능
혹은 구글에서 만든 cAdvisor 로 모니터링할 수도 있음 (단일)
(여러 컨테이너를 한번에 보려면) 쿠버네티스, Swarm 모드, 프로메테우스 같은 걸 사용해야함
Dockerfile
주로 조직에서의 배포를 위해, Bare 한 이미지에 조직에서 필요한 설정들을 만들고
commit으로 이미지를 생성 및 tag 하여 만들어도 되는데, 이러한 과정을 Dockerfile 하나만으로 해결할 수 있다.
Dockerfile 은 DSL(Domain Sepecific Language) 프로그래밍 언어
=> 도커 이미지 정의 파일
특정 도커 이미지 생성 Dockerfile 작업 -> Dockerizing -> 일종의 CI 과정
▸ FROM은 기반이 되는 베이스 이미지 설정 ▸ RUN은 실행할 명령어들
RUN 할 것이 많으면 ~ && ~ \ && ~ 으로 여러 번 기술 => Layer를 사용하지 X▸ WORKDIR는 작업 디렉터리 지정 ▸ ENV는 환경설정 <=JSON 포맷인 <키><값>으로 표시 ▸ EXPOSE 포트 지정 ▸ ADD/COPY : 이미지 파일/디렉터리 추가/복사 <= <src ... dst> 형식 ▸ ARG : 빌드 시 필요한 인자 설정 ▸ ENTRYPOINT : 이미지 실행 시 항상 실행하는 명령어 설정 <= <명령어, 파라미터1, 파라미터2, ..> 형식 ▸ CMD : 이미지를 컨테이너로 띄울 때 명령어 <= <명령어, 파라미터1, 파라미터2, ...> 형식
Dockerfile에서 한 번만 사용▸ # : 주석처리 Multi-Stage는
Python이나 Java에서 Library나 Modules를 다른 프로그램에서 불러와서 사용하는 것과 유사
하나의 Dockerfile에 여러 단계를 묶어서 실행시키는 기법
Express -> Node.js 를 위한 웹 프레임워크
Node.js -> Apache/Tomcat 과 같은 서버쪽 웹 서버와 네트워크 어플 기능
React -> 웹 서버 프로그래밍 언어, PHP or (Java's) JSP 같은 기능
Flask -> Django와 같은 웹 프레임워크 have 다양한 기능
'[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정 > Cloud' 카테고리의 다른 글