一、构建后端镜像
1、找到项目下面的build-and-push-docker.sh文件,由于是在内网部署,没有互联网,所以需要使用构建离线镜像的方式,将该文件中的&& docker push "$dockerImage"
注释后即构建离线镜像。
2、打开git bash窗口,输入sh build-and-push-docker.sh
回车即可构建镜像。
3、打开docker-desktop,查看该镜像是否生成。
4、在本地启动该镜像,看是否有问题。找到docker-compose.yml
文件,修改其中的环境配置,并运行。或者在cmd环境下用命令行运行:docker-compose up -d
5、在docker-desktop中查看是否已经启动,此时可能报/usr/bin/env: ‘bash\r’: No such file or directory
的错误,该问题是因为在Windows操作系统下换行符不正确引起的,需要检查整个项目换行符,将换行符CRLF替换为LF。
二、构建前端镜像
1、打包前端,运行yarn build
命令,打包成功后,项目根目录会生成一个dist文件夹。
2、在jetlinks-ui-vue目录内执行下方命令,注意最后有 ‘.’
docker build -f Dockerfile -t [替换成自己的镜像地址]:[tag] .
3、启动镜像
三、服务器启动
1、将前后端镜像包导出:docker save -o xx.tar [images...]
,运行此命令将两个镜像包导出为tar文件。
2、将tar文件和docker-compose.yml
文件一起上传至服务器。
3、在服务器上导入镜像:docker load -i jetlinks.tar
4、基于本地镜像启动容器,需要保证导入镜像名称与DC文件内的image一致:docker-compose up -d
,假如出现名称相同的容器,需要删除相同名称的容器。操作如下:
- 查看当前所有镜像:
docker ps -a
- 如果在镜像在运行状态,则停止运行该镜像:
docker stop [id]
- 删除该镜像:
docker rm [id]
- 进入容器内部命令:
docker exec -it [容器id] bash
- 退出容器命令:
exit