当前位置: 首页 > news >正文

Docker部署可能遇到的问题

如何解决容器的时区问题?

方案一:让容器与宿主机的时间以及时区保持一致,即将宿主机的时间时区配置文件挂载到容器上对应配置上。这样无论宿主机下有多少个容器也能保证时间时区一样。
docker run -v /etc/localtime:/etc/localtime /etc/timezone:/etc/timezone `你的容器名称或容器ID`

注意:有一些宿主机会出现没有timezone这个配置文件,可以通过命令echo "Asia/Shanghai" > /etc/timezone来创建它。

方案二:在创建容器时设置时区的环境变量。
docker run -e TZ="Asia/Shanghai" `你的容器名称或容器ID`

微服务架构下,如何保证不同宿主机的容器能够相互通信?

网络模式配置描述特性
birdge默认docker服务启动时,会创建一个docker0的虚拟网桥。以该模式运行的容器都会连接到这个虚拟网桥上,这里虚拟网桥相当于物料交换机的作用,容器通过交换机连在一个二层网络中。从docker0子网分配一个ip给到容器,并设置自己的ip为默认网关。在宿主机创建一对虚拟网卡veth pair设备,将设备的一端放在容器内,作为容器的网卡eth0。另一端则放在主机中并加入到在docker0的网桥中。为容器自动分配一个172.x.x.x开头的私有内网IP,只能被宿主机及本机docker内所访问呢,而无法跨宿主机访问。如果是微服务架构下,注册到nacos还会以172开头的地址。
host--net=host该模式下的容器不会获得一个独立的Network Namespace,而是同宿主机公用一个Network Namespace。不会虚拟出自己的网卡以及配置IP,而是使用宿主机的IP和端口。但容器其他方面如文件系统、进程列表还是和宿主机隔离。直接使用宿主机IP与外网通信,网络性能比较好。
container--net=container:[NAME OR ID]该模式下新创建的容器将与指定的容器共享一个Network Namespace,不会获取一个独立的Network Namespace, 更不是宿主机共享。除了网络方面外,其他方面还是隔离。-
none--net=none该模式下创建的容器会获得一个独立的Network Namespace,但没有任何网络配置。只有io回环网络,没有网卡、IP、路由信息。无法联网。
方案一:将各容器应用端口分别与对应宿主机进行端口映射,但需要 格外配置 spring.cloud.nacos.discovery.ip = 宿主机的IP 从而保证服务注册到nacos使用的是宿主机IP。
方案二:可以将容器的网络模式配置为host模式,即不再为容器分配私有IP,而是让容器共用宿主机IP。

相关文章:

  • Java配置41-搭建Kafka服务器
  • VSCode中ESLint插件修复+配置教程
  • 来!PyFlink 作业的多种部署模式
  • 电脑重装系统后Win11安全中心无法打开如何解决
  • ue4打包出现问题解决[Callstack] 0x00007ffa47e6474c KERNELBASE.dll!UnknownFunction []
  • 【Matlab】状态空间模型的极点配置法 place() 函数
  • Chrome常用插件收集整理
  • [车联网安全自学篇] Android安全之APK内存敏感信息泄露挖掘【静态分析】
  • cpacr_el1等特殊寄存器
  • 代码层走进“百万级”分布式ID设计
  • 开源众包-项目大厅数据爬取
  • 数仓工具—Hive源码之SQL解析Antlr进阶(8)
  • 家用烘干机家电出口欧盟CE认证资料您是否准备好了
  • Ant Design Pro of Vue 构建打包后使用 Nginx 发布,API 请求报 404 错
  • 多功能音频工具的旗舰音乐编辑工具!Music Studio
  • angular2 简述
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • FineReport中如何实现自动滚屏效果
  • interface和setter,getter
  • Java 网络编程(2):UDP 的使用
  • js作用域和this的理解
  • learning koa2.x
  • mysql中InnoDB引擎中页的概念
  • React Native移动开发实战-3-实现页面间的数据传递
  • Redis字符串类型内部编码剖析
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • tensorflow学习笔记3——MNIST应用篇
  • vue:响应原理
  • 对JS继承的一点思考
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 通过npm或yarn自动生成vue组件
  • 想写好前端,先练好内功
  • 小程序开发之路(一)
  • 学习使用ExpressJS 4.0中的新Router
  • 主流的CSS水平和垂直居中技术大全
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #pragma once
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot教学评价 毕业设计 641310
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .net Application的目录
  • .Net FrameWork总结
  • .net连接MySQL的方法
  • ??myeclipse+tomcat
  • @Controller和@RestController的区别?