Alpine Linux 3.9.0에서 Docker Swarm 생성
소개이 안내서는 여러 개의 Alpine Linux 3.9.0 서버 및 Portainer를 사용하여 Docker 스웜을 생성 및 구성하는 방법을 보여줍니다. 그쪽으로 알아주십시오
웹 응용 프로그램을 실행할 때는 일반적으로 소프트웨어를 멀티 스레딩 또는 복잡한 이벤트 루프를 사용하도록 변환하지 않고도 리소스를 최대한 활용하려고합니다. 그러나 Docker는 서버 리소스를 최대한 활용하기 위해 내부적으로 응용 프로그램을로드 밸런싱 할 수있는 간단한 방법을 제공합니다. 이 기사에서는 Nginx를 사용하여 CentOS에서 Docker를 사용하여 웹 애플리케이션을로드 밸런싱하는 방법을 보여줍니다.
우리는이 간단한 응용 프로그램을 구축하기 위해 녹을 사용할 것입니다. 녹이 설치되었다고 가정하고를 실행하십시오 cargo new webapp –bin
. 성공하면이라는 디렉토리가 표시됩니다 webapp
. 안에는 webapp
이라는 파일이 Cargo.toml
있습니다. 다음 줄을 추가하십시오.
[dependencies.iron]
version = "*"
다음으로 src/main.rs
파일 내부에서 모든 것을 제거하고 다음으로 채우십시오.
extern crate iron;
use iron::prelude::*;
use iron::status;
fn main() {
Iron::new(|_: &mut Request| {
Ok(Response::with((status::Ok, "Hello Vultr :)")))
}).http("0.0.0.0:3000").unwrap();
}
참고 : 응용 프로그램 내에서 IP를 변경하지 마십시오. Docker가 응용 프로그램을들을 수 있도록 구성되어 있습니다.
완료되면를 실행하여 애플리케이션을 컴파일하십시오 cargo build –release
. 서버에 따라 몇 분이 걸릴 수 있습니다. 오류가 없으면 다음 단계를 수행하여 응용 프로그램을 테스트하십시오.
target/release/webapp
.http://0.0.0.0:3000/
브라우저에서로 이동 하십시오. 0.0.0.0
서버의 IP 주소로 교체하십시오 .모든 것이 제대로 작동하면 페이지에 "Hello Vultr :)"가 표시됩니다.
를 작성 Dockerfile
하고 다음으로 채우십시오.
FROM centos:latest
MAINTAINER User <user@localhost>
RUN yum update -y
COPY ./webapp/target/release/webapp /opt/
EXPOSE 3000
WORKDIR /opt
CMD ./webapp
파일을 저장하십시오. 그런 다음 파일을 작성하고 다음으로 deploy.sh
채우십시오.
DEFAULT_PORT=45710
APP_PORT=3000
DEPLOY=5
NAME="webapp"
docker build -t webapp:example .
for ((i=0; i<DEPLOY; i++)); do
docker kill $NAME$i ; docker rm $NAME$i
docker run --name $NAME$i -p 127.0.0.1:$(((i * 1000) + DEFAULT_PORT)):$APP_PORT -d webapp:example
done
이 스크립트를 실행하면 설정 한 양에 따라 이미지가 빌드되고 컨테이너가 배포됩니다 (기본값은 5). 컨테이너가 있으면 컨테이너를 다시 배포하기 전에 컨테이너에서 강제 종료하고 제거합니다.
이제 Nginx 구성 파일을 작성하고 다음으로 채우십시오.
upstream application {
server localhost:45710;
server localhost:46710;
server localhost:47710;
server localhost:48710;
server localhost:49710;
}
server {
listen 0.0.0.0:80;
location / {
expires 1w;
proxy_pass http://application;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
0.0.0.0
서버의 IP 주소로 교체하십시오 .
다음을 수행하여 Nginx를 다시 시작하십시오 systemctl restart nginx
. 오류를 해결 한 후 다음 단계로 진행하십시오.
을 실행하여 응용 프로그램을 배포하십시오 bash ./deploy.sh
.
로 응용 프로그램의 상태를 확인할 수 있습니다 . docker ps
시작하는 5 개의 이미지가 생성됩니다 webapp
. 이제 http://0.0.0.0:3000/
브라우저에서 "Hello, Vultr :)"메시지가 다시 나타납니다.
그렇다면 이것이 정확히 어떤 차이가 있습니까?
로드 밸런서 구성에 대해 벤치 마크 테스트를 실행하면 더 많은 서버 리소스가 사용되고 있음을 알 수 있습니다. 특히 응용 프로그램이 일반적으로 단일 스레드 인 Node와 같은 언어로 구축 된 경우 더욱 그렇습니다. 응용 프로그램을 업그레이드해야하는 경우 업그레이드 한 deploy.sh
후 이미지를 다시 실행하여 컨테이너를 배포 할 수 있습니다.
소개이 안내서는 여러 개의 Alpine Linux 3.9.0 서버 및 Portainer를 사용하여 Docker 스웜을 생성 및 구성하는 방법을 보여줍니다. 그쪽으로 알아주십시오
RancherOS는 시스템 서비스를 실행하기 위해 시스템 Docker 데몬을 PID 0으로 실행하는 매우 가벼운 운영 체제 (약 60MB)입니다.
PHP 응용 프로그램은 일반적으로 웹 서버, 관계형 데이터베이스 시스템 및 언어 인터프리터 자체로 구성됩니다. 이 튜토리얼에서 우리는 활용할 것입니다
소개 Docker는 컨테이너로 실행되는 프로그램을 배포 할 수있는 응용 프로그램입니다. 인기있는 Go 프로그래밍 언어로 작성되었습니다.
다른 시스템을 사용하십니까? Docker는 컨테이너로 실행되는 프로그램을 배포 할 수있는 응용 프로그램입니다. 인기있는 Go 프로그램에서 작성되었습니다.
이 기사에서는 Docker 컨테이너 내에 Node 응용 프로그램을 배포하는 방법을 보여줍니다. 참고 :이 튜토리얼은 Docker가 설치되어 있고 읽은 것으로 가정합니다.
Harbor는 Docker 이미지를 저장하고 배포하는 오픈 소스 엔터프라이즈 급 레지스트리 서버입니다. 하버, 오픈 소스 Docker Distribution b 확장
LXC 컨테이너 (Linux 컨테이너)는 단일 호스트에서 여러 개의 격리 된 Linux 시스템을 실행하는 데 사용할 수있는 Linux의 운영 체제 기능입니다. 그
Kubernetes는 서버 클러스터 전체에서 컨테이너화 된 애플리케이션을 관리하기 위해 Google에서 개발 한 오픈 소스 플랫폼입니다. 그것은 10 년을 기반으로하고
다른 시스템을 사용하십니까? 소개 Rancher는 컨테이너를 실행하고 개인 컨테이너 서비스를 구축하기위한 오픈 소스 플랫폼입니다. 목장주 기지
개요이 기사는 Kubernetes 클러스터를 kubeadm과 함께 시작하고 실행하는 데 도움을주기 위해 작성되었습니다. 이 가이드는 두 대의 서버를 배포합니다.
이 기사에서는 CoreOS에 docker-compose를 설치하는 방법에 대해 설명합니다. CoreOS에서는 / usr / 폴더를 변경할 수 없으므로 표준 / usr / local / bin 경로를 사용할 수 없습니다.
다른 시스템을 사용하십니까? 소개 Rancher는 컨테이너를 실행하고 개인 컨테이너 서비스를 구축하기위한 오픈 소스 플랫폼입니다. 목장주 기지
다른 시스템을 사용하십니까? Docker는 가상 컨테이너 내에 소프트웨어를 배포 할 수있는 응용 프로그램입니다. Go 프로그램에서 작성되었습니다.
다른 시스템을 사용하십니까? Docker Swarm은 개별 서버를 컴퓨터 클러스터로 전환하여 확장 및 고 가용성을 용이하게합니다.
다른 시스템을 사용하십니까? Docker Swarm은 개별 서버를 컴퓨터 클러스터로 전환합니다. 스케일링, 고 가용성
이 튜토리얼은 Docker 시작의 기본 사항을 설명합니다. Docker가 이미 설치되어 있다고 가정합니다. 이 튜토리얼의 단계는
우리는 여러 시스템에서 애플리케이션 컨테이너를 생성, 관리 및 배포 할 수있는 플랫폼 인 Docker를 알고 있습니다. Docker Inc.는 서비스를 제공합니다
전제 조건 Docker 엔진 1.8 이상. 최소 4GB의 디스크 공간. 최소 4GB의 RAM. 1 단계. Docker 설치 SQL-Server를 설치하려면 Docker mus
NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.
Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드
WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.
Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.
Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능
인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.
최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.
빅데이터의 13가지 상용 데이터 추출 도구