1.从git上获得项目的zip包
2.进入项目的文件夹下,下载依赖包,并执行(适用前端代码,后端代码跳过此步)
npm install npm run
3.进入dockerfile所在文件夹下,生成文件的docker镜像,并且修改镜像tag
docker build -t bot-explain-manager:v1.0 . #注意最后有个 . 代表路径,不能遗漏了 docker tag bot-explain-manager:v1.0 80.68.64.xxx:xxxx/application/bot-explain-manager:v1.0 #前面为原来的镜像名,后面为修改后的镜像名,一定要带上版本号。 #80.68.64.xxx:xxxx镜像仓库的端口号,便于后面上传镜像仓库(如harbor) docker images #查看现有镜像
4.将镜像上传镜像仓库
先修改配置文件,配置私有仓库,不然无法访问仓库 vim /etc/docker/daemon.json # 添加配置 "insecure-registries": [ "192.xxx.xx.135" ]
#重启docker systemctl restart docker
#登入镜像仓库 docker login 192.xxx.xx.135
#docker push上传镜像 docker push 80.68.64.xxx:xxxx/application/bot-explain-manager:v1.0
5.连接部署服务器
#ssh连接服务器,需要密码 sudo ssh -p 22 root@124.xx.xx.237
6.在部署的服务器上拉取镜像
同第四步:先修改配置文件,配置私有仓库,添加配置,重启docker,登入镜像仓库 #docker pull拉取镜像 docker pull 80.68.64.xxx:xxxx/application/bot-explain-manager:v1.0
7.启动容器
#注意docker run可能遇到问题 #1.前端文件 #-d保证后台运行,-p指明端口号 #-p 小写p表示docker会选择一个具体的宿主机端口映射到容器内部开放的网络端口上。 #-P 大写P表示docker会随机选择一个宿主机端口映射到容器内部开放的网络端口上。 #宿主机的一个端口只能映射到容器内部的某一个端口上,比如:8080->80之后,就不能8080->81 #容器内部的某个端口可以被宿主机的多个端口映射,比如:8080->80,8090->80,8099->80 docker run -d -p xx:xxx 80.68.64.xxx:xxxx/application/bot-explain-manager:v1.0 #2.后端文件 #最后加上bin/sh防止后台认为容器无任务,,将容器终止 docker run -d -it -p xx:xxx 80.68.64.xxx:xxxx/application/bot-explain-manager:v1.0 bin/sh #检查容器是否生成 docker ps docker ps -a
8.修改配置文件
#进入容器 docker exec -it containerID /bin/bash #安装vim,便于直接在容器内修改文件 https://www.cnblogs.com/adawoo/p/13949419.html #很完整,可参考 #修改完后重启容器 docker restart containerName
原文链接:https://blog.csdn.net/qq_34251133/article/details/125852078?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836884016800180645872%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836884016800180645872&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-25-125852078-null-null.nonecase&utm_term=docker%E9%83%A8%E7%BD%B2
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END