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容器中的时间就是北京时间啦