net core应用在linux中差异记录

window平台和linux平台部署应用,运行表现可能会存在差异,遇到就随手记录下,欢迎补充:

序号 差异 解决
1 发布镜像存在时区问题 使用release模式发布,并设置时区
2 应用场景批量插入数据到mysql,存在一个序列化数据问题,发现存入到mysql中时间字段变成了0000-00-00 00:00:00,但windows上应用插入到mysql的时间是正常的 序列化字符串时,需要将日期转换一下。ToString("yyyy-MM-dd HH:mm:ss")
3 linux和windows换行存在差异: 需要手动判断一下,以区分RuntimeInformation.IsOSPlatform(OSPlatform.Linux):: linux(\n)、windows(\r\n)、macos(\r)
4 相同宿主机下,不同镜像如何相互访问。eg:同一个宿主机,A应用镜像需要访问b数据库镜像 两种方式:1.两个镜像使用bridge方式连接,或者在docker compose文件中定义桥接,然后一起发布镜像;2.由于不方便重新发布mysql镜像或容器,可以使用--link方式。 docker run -di --name=containA --link containBmysql:mysql5737 imageA ;imageA为镜像id或名、containA为要创建容器名称、containBmysql为需要--link的容器名称、因为是mysql数据库,推荐使用别名,连接mysql使用,此处为mysql5737。特别注意:link方式后,二者是同一个网段,故可以相互访问,mysql的端口,需要更改为mysql的端口,而非mysql映射到宿主机暴露的端口。
posted @ 2022-12-05 16:49  daxiaxj  阅读(55)  评论(0编辑  收藏  举报