使用Docker进行jenkins自动化部署
由于前段时间做了一个 SpringBoot 的项目,听说可以自动化部署,所以去尝试了一下,记录下来遇到的问题。
首先我从网上搜索自动化部署,又通过大哥的指导,接触了 jenkins
但是我看到网上好多都是使用 Docker 进行的自动化部署,之前也听说过 Docker 的威名但是由于项目时间紧迫的原因并没有正式的去学习过 Docker 。赶在这段时间事情不是很多,学习了一下。
首先安装的时候就遇到一个大坑,因为听说 Docker 在 Windows 上使用 “基于Windows的Linux子系统”这种模式跑更好,所以遇到了这个大坑:WSL 2 installation is incomplete.
解决方法我放到下面参考网站中了,相应的接下来遇到的问题那篇文章也写的非常细。
解决方案:
第一步=》 控制面板->程序->程序和功能->检测一下有没有勾选这里:启用Windows的Linux子系统
第二步=》 我们使用的wsl2版本很旧,因此需要手动更新。安装 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
第三步=》 管理员身份打开PowerShell 输入命令:netsh winsock reset 之后重启电脑
之后学习了一下 Docker 的基础使用:期间还遇到一个小坑。
因为我是在菜鸟教程上学习的,然后他上面有一部分执行的指令是 Linux 上运行的,所以也出了一丢丢的问题。
具体就是 docker 的 镜像导出和导入
我尝试了一下,不好使!
然后经过度娘的教导,方式如下
//镜像导出 docker export 'id' -o /ubuntu.tar //镜像导入 docker import ubuntu.tar
'id' 是你的容器的ID
-o 注意 是o(鸥)不是0!
/xx.atr 其中xx随便起,生成的文件会直接在你当前cmd下生成
另外一下是经常用到的 Docker 命令:
//查看当前运行的容器 docker ps //查看全部容器 docker ps -a //删除指定的容器 docker rm -f 'id' //删除指定的镜像 docker rmi 'id' //启动指定容器 docker start 'id' //停止指定容器 docker stop 'id' //重启指定容器 docker restart 'id' //导出容器到镜像 docker export 'id' -o /xx.tar //导入镜像文件 docker import xx.tar //新建并后台运行指定的镜像到容器(d去掉是直接进入容器) docker run -itd --name xx ubuntu /bin/bash //进入容器(exit退出会将容器一同停止) docker attach //进入容器(比较优雅) docker exec -it xx /bin/bash //查看全部镜像 docker images //从远程将指定镜像拉取下来 docker pull xx //将当前镜像推到远程 docker push xx //登录 docker login //登出 docker logout
//搜寻指定镜像
docker search xx
就在测试 docker push 的时候,遇到了一个问题,就是需要在 Docker Desktop 设置中的 Docker Engine 增加 "insecure-registries"(里面的内容根据自己的需求去改,我选择的是 hub.docker.com)
{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "features": { "buildkit": true }, "insecure-registries": [ "hub.docker.com" ] }
然后点击应用并重启 Docker 后,连不上了???
我重启点按哦之后就好使了,不知道是为什么,我看好多都没写修改之后需要重启电脑。
还有一个没有解决就是我能在 hub.docker.com 上看到我上传的文件,但是我用 “docker search xx” 搜索的时候找不到???不知道是为什么,如果有大佬知道为啥请赐教,感激不尽。
Docker 的部分就到这里!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
===============================================================================================================================================================================
接下来到 自动化部署的阶段
因为时间原因,没有跑通,我只是跟着参考网站第二个配置了一遍。但是到了 git 拉取那段就出了问题。
这里不展开说了,等之后我再摸索摸索,成功之后出一个详细的文章。
参考网站:
1、Docker 安装后启动失败弹出 WSL2:https://blog.csdn.net/weixin_52908342/article/details/125287743