(四).NET6.0程序部署到Docker上
1.确保安装Docker
2.把需要部署到Docker上面的项目,咱们先添加Docker的支持,启动项目右键 -> 添加 -> Docker支持,选择 Linux
然后会自动生成Dockerfile文件,在里面可以看见Docker有关的配置信息。
3.对Dokcerfile的配置文件做一些更改
4.然后修改dockerfile文件的属性
5.项目右键,选择发布,选择发布到本地文件夹
6.使用管理员权限启动 power shell,然后定位到发布的程序的根目录下
7.然后,使用docker build -t 镜像别名(例如我起个别名,叫ysqky) .
注意最后面需要加空格,然后一个点。
然后就会自动下载有关的一些资源。
成功后Docker客户端内容
8.构建容器
成功后Docker客户端显示
9.发布成功后去浏览线上swagger
执行一下swagger方法会在Docker客户端看到执行内容
PS:在部署的过程中我发现,例如打印一个DateTime.Now。本地运行时间是当前主机的系统时间,但是在Docker容器中的时间默认是UTC时间,所以打印DateTime.Now就是UTC时间(要相差8个小时的时差),翻阅了一些资料,我在修改Dockerfile文件
执行 docker exec -it 容器ID bash
cat /etc/timezone检查时区文件
date 检查系统时间
ls -l /etc/localtime 检查是否正确连接
发现输出还是UTC时区,考虑的原因是运行容器的时候重新覆盖了时区文件
我尝试了很多次,找到的解决办法是在运行容器的时候指定时区,执行docker命令:
docker run -docker run -d -p 7778:35678 --name ysqky -e TZ=Asia/Shanghai ysqky
这个时候Docker容器中的时间就是北京时间啦
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤