일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 실습
- OpenStack
- 클라우드
- mysql
- MongoDB
- worker
- 쿠버네티스
- RAPA
- 개념
- PaaS
- IaaS
- git
- Docker Swarm
- nodejs
- 네트워크
- docker
- 도커
- PAT
- node.js
- 용어정리
- Docker-compose
- Javascript
- kubernetes
- 명령어
- dockerfile
- RAID
- gns3
- express
- 이론
- network
- Today
- Total
목록2022이전/Docker&Kubernetes (19)
융융이'Blog
실제 서버를 운용하는 데 있어서 많은 컨테이너를 관리를 해야한다. 특히, 트래픽 처리할 수 있는 실용적인 시스템을 구축하려면 보다 많은 컨테이너가 각기 다른 호스트에 배치되어 이를 처리 하도록 해야 할 것이다. 이를 위한 첫 번째 대안으로 바로 도커 수웜(Docker Swarm)이다. 도커스웜은 여러 도커 호스트를 클러스터로 묶어주는 컨테이너 오케스트레이션 도구의 한 종류이다. ### 실습 준비하기 1대의 manager 노드 3대의 worker 노드(worker01~03) manager : 211.183.3.100 woker1 : 211.183.3.101 woker2 : 211.183.3.102 woker3 : 211.183.3.103 manager 노드에서 토큰 발행 docker swarm init -..
도커 스웜은 도커 컨테이너를 위한 클러스터링, 스케줄링 툴이다. 스웜을 이용하면 여러 개의 서버와 컨테이너 관리를 쉽게 할 수 있다. 도커 스웜 노드 도커 스웜에는 manager 노드와 worker 노드가 있다. 매니저 노드(manager node) 매니저 노드는 아래의 업무를 통해 도커 클러스터를 관리한다. 클러스터의 상태를 유지 : 뗏목 알고리즘 사용 스케줄링 서비스 : 작업자 노드(worker)에게 컨테이너를 배포한다. 특정 노드에게만 배포하거나, 모든 노드에 하나씩 배포할 수도 있다. 스웜 모드 제공 : docker swarm init 작업자 노드(worker node) 도커에서 일반적으로 컨테이너를 실행하는 노드를 작업자 노드라고 한다. drain : Task(컨테이너를 배포하고 관리)하는 권한..
여러 컨테이너 생성(up) 작성한 docker-compose.yml 파일을 바탕으로 여러 개의 컨테이너를 생성하여 실행할 때는 docker-compose up 명령을 사용한다. ===> docker-compose up [옵션] [서비스명] ex) 한번에 10개의 컨테이너를 생성한다.(dokcer-compose.yml에서 port: 8001-8010으로 범위 설정이 가능하다.) docker-compose up --scale server_a=10여러 컨테이너 강제 정지/삭제(kill/rm) docker-compose kill -s SIGINT 여러 리소스의 일괄 삭제(down) 실행중인 컨테이너를 중지후 삭제, docker 이미지, 네트워크, 데이터볼륨을 일관적으로 삭제할 수 있다. docker-compos..
Docker-compose는 기존 Dockerfile에서의 배포 과정을 보다 편하게 설정하기 위해서 등장했다. Dockerfile은 이미지 커스텀마이징에 중점을 뒀다면 Docker-compose는 배포환경 커스텀마이징에 중점을 두었다고 볼 수 있다. 물론 Docker-compose를 통해서 기존 이미지를 커스텀이 가능하긴 하다.(CMD, RUN... 등 설정 가능) docker-compose 의 설치 sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/b..
실습 내용 Dockerfile을 활용하여 이미지를 생성하고 그 이미지를 docker-compose 활용하여 container을 만든다. xpressengine 서버를 구축한다.(php, apache2) DB 서버를 구축한다. (mariadb) 둘이 연동을 하고 index.html에서 redirect을 통해서 웹서버에 접속을 한다. index.html 파일의 내용은 /var/www/html/index.html 로 접속시 현재 디렉토리 아래의 xe-core/index.php 파일이 열리도록 redirect 하기 위한 내용을 추가 Dockerfile ubuntu 설치, apache2, php 설치, xe-core를 다운로드 컨테이너 배포시 apache2 가 실행되어야 한다. FROM ubuntu:18.04 E..
프로젝트를 진행하며 작성한 이미지를 인터넷상에 공개하지 않고 팀 내에서 사용하는 서버를 이용하여 관리하고자 한다면 사설 레지스트리(또는 저장소)를 구축하여 관리하는 방법을 고려해 볼 수 있다. 사설 레지스터리 구축하기 docker image pull registry docker container run -d -p 5000:5000 --name pregistry registry 사설 레지스터리에 올릴 이미지 생성하기 vim Dockerfile ... FROM centos RUN ["echo", "HELLO"] ... docker build -t hello . 사설 레지스터리에 이미지 파일 올리기 docker image tag hello localhost:5000/helloimg docker image pu..
Dockerfile을 이용하여 베이스 이미지를 지정한 뒤 , 필요한 미들웨어 설치 및 명령어 추가 등을 통해 원하는 형태의 이미지를 작성하는 방법 Dockerfile 내에서 사용하는 주석은 "#"을 사용한다. Dockerfile의 예시 FROM ubuntu:14.04 MAINTAINER Foo Bar RUN apt-get update RUN apt-get install -y nginx RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf VOLUME ["/data", "/etc/nginx/site-enabled", "/var/log/nginx"] WORKDIR /etc/nginx CMD ["nginx"] EXPOSE 80 EXPOSE 443 Dockerfile 파일 이..
도커를 접속하기 위해서는 먼저 컨테이너가 실행 중이여야 한다. docker ps -a명령어를 통하여 접속하고자 하는 docker를 상태를 확인해 준다. 도커로 컨테이너에 접속하는 방법은 크게 두가지 이다. exec attach attach은 컨테이너에서 새 프로세스를 실행하기 위한 것이 아닙니다. 하나의 shell 인스턴스만 사용할 수 있습니다. 만약 attach를 사용한다면 실행 중인 터미널 접속하게 됩니다. 즉, PID 1에 접속하게 되고 만약 exit명령어를 통해서 종료를 하게 되면 해당 container는 종료가 됩니다. ex> docker attach [컨테이너명 or ID] exec 셀의 새 인스턴스로 접속을 하고자 할 때 사용됩니다. ex> docker exec [컨테이너명 or ID] &#..