Docker: (네트워크 모드, 외부 접근 docker 용기, idea에서springcloud 프로젝트는jar 패키지, docker는springcloud를 배치)
1. bridge 모드(기본 모드) docker run을 사용할 때 - net=bridge를 사용합니다. 이 모드는 모든 용기에 하나의 독립된 네트워크 Namespace를 분배하고 같은 숙박 호스트의 모든 용기는 같은 네트워크 구간에서 서로 통신할 수 있습니다.
1:bridge , --net , --net
2:bridge IP
2. host 모드 docker run 시 – net=host를 사용하면 컨테이너는 IP/포트를 가상하지 않고 호스트의 IP와 포트를 사용합니다
docker run -itd --net=host 961769676411
1:host , ,-p -icc
3.container 모드(생략)
4.none 모드(약)
5. 크로스 호스트 통신(약) 상기 네 가지 모두 크로스 호스트가 없다. 즉, 용기는 모두 한 개의 숙주 호스트에서 운행하지만 실제 생산 환경은 한 대만 운행할 수 없다.틀림없이 여러 대가 쓰일 것이다. 그 많은 호스트 간의 용기는 어떻게 통신하는가.라우팅 메커니즘을 사용하여 네트워크 연결 2.Open vSwitch(OVS)로 네트워크 연결 3.flannel을 사용하여 네트워크 연결 4.Quagga를 사용하여 자동 학습 루트를 실현하다
2. 외부 접근 docker 컨테이너 1,bridge 모드 docker run -itd -p 7101:7101 미러 ID ## -p 매개 변수는 여러 번 나타날 수 있으며, 여러 포트 번호 docker run -itd -p 8080:8080 -p 8088:8088 미러 ID 2.host 모드 docker run -itd --net=host 미러 ID 주1: -p 매개 변수를 추가할 필요가 없습니다. 호스트의 IP와 포트를 사용하기 때문에 -p 매개 변수를 추가하면 오히려 다음과 같은 경고가 나타납니다: WARNING: Published ports are discarded when using host network mode 주2: 호스트의 IP 라우팅 전송 기능은 반드시 켜야 합니다. 그렇지 않으면 생성된 용기는 네트워크가 연결되지 않습니다!echo 1 >/proc/sys/net/ipv4/ip_forward 3.관련 명령 # 모든 용기 docker stop $(docker ps -aq) & docker rm $(docker ps -aq) 4.브리지 보기 도구bridge-utils apt install bridge-utils brctl show
3. 아이디어 중springcloud 프로젝트jar 패키지
1. 아이디어에서springcloud 프로젝트를 실행하고 문제가 없음을 확인합니다. 2. 메인 모듈의pom 파일을 수정합니다.
0.0.1-SNAPSHOT
pom
3. 각 하위 모듈의pom 파일에 다음 플러그인 의존을 추가합니다
org.springframework.boot
spring-boot-maven-plugin
com.imooc.DemoApplication
repackage
4, 아이디어의view-'Tool windows-'maven을 누르면 클렌(전에 싸운 가방 target 폴더 제거)-를 두 번 클릭하고 설치를 만들면 안 되면 수동으로 지워보고 클렌이 맞다면 설치를 눌러라. 틀리면 내 해결 방법은 아리운 창고를 마븐에서 중앙 창고로 전환하는 것이다.그리고 중앙 창고를 아리운 창고로 전환한다(틀릴 수 있는 이유는 다운로드가 끝나지 않았기 때문에 원본을 바꾸고 다시 내려야 한다). 이런 식으로 하기 싫으면 다른 방법을 찾아라.5,install이 완성되면 모든 모듈에 target이 나타나서 안의jar 패키지를 복사하여 지정한 디렉터리로 복사합니다. 예를 들어 d:\temp\apps 디렉터리에서 자바 명령을 통해 직접 실행합니다.
cmd
d:
cd d:\temp\apps
java -jar eureka-provider.jar --spring.profiles.active=provider1
:
java -jar eureka-server-cluster-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar eureka-server-cluster-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
4. docker는springcloud에putty 도구가 있는 도구를 배치하고 관리 로그인을 전환한다.가상 머신에서 hosts 파일 수정
vim /etc/hosts
##
127.0.0.1 peer1
127.0.0.1 peer2
2. 숙박 호스트에 apps 폴더를 만들고 eureka-server-cluster.jar 패키지를 apps 폴더에 업로드
#
cp eureka-server-cluster.jar /apps
3. jre:8 렌즈를 사용하여 용기를 시작하고 지정한 디렉터리를 데이터 볼륨으로 마운트합니다
docker run -d \
-it \
--net=host \
--name eureka-server-peer1 \
--mount type=bind,source=/apps,target=/apps \
ID
1:jre:8 , jre1.8
4、컨테이너에 들어가면 자바 명령으로 마이크로 서비스를 시작합니다.
docker exec -it eureka-server-peer1 /bin/sh
java -jar eureka-server-cluster.jar --spring.profiles.active=peer1
상기'3. dockerspringcloud 배치'의jar를dockerfile 파일로 보기
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.