前言
前不久敲代码发生了个诡异的现象,有一个bug本地运行的好好的,但是以用gitLab把代码用docker打包好放到服务器上,那个功能就实现不了,这该如何是好呢?(一般常见这样的bug都是大小写问题,因为Linux区分大小写,而Windows不区分大小写,但是代码一多了也很难debug出来,try_catch、写log总不能写一次代码推一次代码在服务器上运行,这样也太浪费时间了)所以,为了能在本地更好的模拟出服务器上到底什么原因出现什么错误,我们将本地代码打包到本地docker上模拟运行一下。一、必备环境工具
- 本地安装docker
- 安装自带的Docker Desktop Installer.exe
链接: docker安装.
二、使用步骤
1.检查docker环境以及桌面应用
- Win+R打开cmd窗口输入docker version检查版本
- 检查桌面应用
小提示:建议我们先修改一下一会打包成images的时候的路径,他会默认到C盘中,这样可能打包几个C盘就满了,修改如下:
2.具体步骤
- 打开cmd窗口,cd到自己项目跟路径底下(或者直接到Docker file的文件上层)
- 查看docker底下有没有image
docker images //查看docker底下有没有image
弹出下面内容:
- 查看有没有正在运行的
docker ps
弹出下面内容:
- 加入有正在用的3099端口号的项目,就先把这个镜像给停止了
docker container stop dreamy_hoover // 是后面的具体名字
弹出下面内容:
- 检查完之后就可以将本地项目打包了
docker build.
弹出下面内容:
-
在用docker images看看有没有新增一条记录
-
启动项目
docker run -p 3099:3099 //第一个3099对内,第二个3099对外
总结
docker的优点之一就是无论在Linux还是Window系统都是一样的,关键在于容器化技术,所以如果在本地的docker能跑通的代码,原则上不管是在什么服务器环境下,只要那个服务器上也部署docker并将代码打包上去,那么都是一样的。