vm网咯配置

1. Docker网络模式

  1. Docker在创建容器时有四种网络模式:bridge/host/container,bridge为默认不需要用–net去指定,
    其他三种模式需要在创建容器时使用–net去指定
2.bridge模式(默认模式)
	docker run时使用--net=bridge,这种模式会为每个容器分配一个独立的Network Namespace,
	同一个宿主机上的所有容器会在同一个网段下,相互之间是可以通信的

	注1:bridge为默认模式,不需要使用参数--net去指定,使用了--net参数反而无效
	注2:bridge模式无法指定容器IP

	3.host模式
		docker run时使用--net=host,容器将不会虚拟出IP/端口,而是使用宿主机的IP和端口
		
	docker run -itd --net=host 镜像id

	注1:host模式不能使用端口映射和自定义路由规则,这些都与主机一  致,-p 与-icc 参数是无效的

构建docker容器指定网络模式

1.bridge模式


     $ docker run -itd -p 7101:7101  镜像ID

当我访问宿主机的7101端口的时候,它能帮我映射到容器的7101端口

-p参数可以出现多次,绑定多个端口号

 $ docker run -itd -p 8080:8080 -p 8088:8088 镜像ID

2.host模式


 $ docker run -itd --net=host 镜像ID

3.相关命令

停止并删除所有容器

 docker stop $(docker ps -aq) 
 docker rm $(docker ps -aq)

4.网桥查看工具bridge-utils

     $ rpm -qa|grep bridge-utils   可以看到网桥连接工具的进程
     $ yum install bridge-utils    安装网桥连接工具
     $ brctl show                  查看网桥连接工具的信息

  1. idea中springcloud项目打jar包
    1.在idea运行springcloud项目,不报错,均可正常访问

    2.修改主模块的pom
    0.0.1-SNAPSHOT

    pom


    在各个子module模块的pom.xml文件中添加插件

 
     注:在各个子模块中必须添加
         <packaging>jar</packaging>

		 <build>
			<plugins>
				<!--添加maven插件-->
				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
					<configuration>
						<!--添加自己的启动类路径!-->
						<mainClass>com.imooc.DemoApplication</mainClass>
					</configuration>
					<executions>
						<execution>
							<goals>
								<!--可以把依赖的包都打包到生成的Jar包中-->
								<goal>repackage</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
			</plugins>
		 </build>

6.点击idea的view ——》Tool windows ——》maven projects
先双击clean(去掉之前打的包target文件夹)——》再创建install

7.将项目各子模块target目录下的jar包,复制到指定目录,例如:d:\temp\apps目录下,再通过java命令直接运行
cmd
d:
cd d:\temp\apps
java -jar *.jar --spring.profiles.active=xxx

 CMD
 
 例如:
 java -jar *.jar  就是jar包的启动命令
 java -jar eureka-server-cluster.jar --spring.profiles.active=peer1
 java -jar eureka-server-cluster.jar --spring.profiles.active=peer2
 
 java -jar eureka-provider.jar
 java -jar eureka-consumer.jar	 

docker部署springcloud
1.宿主机修改hosts文件
vim /etc/hosts

 ## 在里面添加要映射的域名即可
 127.0.0.1 peer1
 127.0.0.1 peer2

宿主机创建文件夹apps,上传eureka-server-cluster.jar包至apps

 ## 此目录稍后作为数据卷,在宿主机和容器之间共享数据
 mkdir /apps

使用jre:8镜像启动容器,并挂载指定目录为数据卷
docker run -d
-it
–net=host
–name eureka-server-peer1
–mount type=bind,source=/apps,target=/apps
镜像ID

   宿主机的/apps目录下有一个jar,那么这个jar包同样在容器的/webapps目录下:数据共享

 注1:jre:8是自定义镜像,已安装jre1.8

进入容器,java命令启动微服务
docker exec -it eureka-server-peer1 /bin/sh
java -jar eureka-server-cluster.jar --spring.profiles.active=peer1

    注1:同理可以启动eureka-server-peer2
 注2:docker start $(docker ps -aq)
 
 千万记得开防火墙端口:firewall-cmd --zone=public --add-port=7101/tcp --permanent

					   firewall-cmd --reload
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值