Docker: (네트워크 모드, 외부 접근 docker 용기, idea에서springcloud 프로젝트는jar 패키지, docker는springcloud를 배치)

4157 단어
1. 네트워크 모드 Docker는 모두 네 가지 네트워크 모드가 있다. host,bridge,container,bridge 모드는 용기를 만들 때 -net 지정이 필요 없고 다른 세 가지 모드는 -net 지정이 필요하다.
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 파일로 보기

좋은 웹페이지 즐겨찾기