Docker 搭建Maven(nexus3)私服(Centos 7)初始密码错误

本文介绍了在CentOS 7上使用Docker搭建Maven私服Nexus3的过程,并着重解决了遇到的初始密码错误的问题。通过查找/nexus-data/admin.password文件获取正确密码,成功登录Maven私服。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习微服务,使用docker搭建maven私服。在搭建的过程中一路畅通,没有任何阻碍,但是当搭建成功登录时,传说中的初始admin/admin123用户名/密码不对.....一群乌鸦飞过~~~。好了不说了,记录一下是怎么解决问题的吧。

前提条件:

1:虚拟机安装CentOS 7

2:配置局域网ip SercureCRT访问

3:CentOS 7 安装Docker (请自行百度,很多说明)

步骤一:安装完成Docker后 下载Nexus 镜像

下载一个nexus3的镜像

1

docker pull sonatype/nexus3

 

步骤二:将容器内部/var/nexus-data挂载到主机/root/nexus-data目录并运行docker启动nexus3。

1

docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3

 

步骤三:查看是否启动成功

<template> <div class="box bgc3 sku-sale-rank"> <!-- TODO: 分辨大怎么展示问UI --> <div class="header"> <div class="title"> 商品热榜<span class="sub-title">{{ start }} ~ {{ end }}</span> </div> </div> <div class="body"> <el-row v-for="(item, index) in skuSaleRank" :key="index"> <el-col :span="5"> <div :class="&#39;top top&#39; + (index + 1)"> {{ index + 1 }} </div> </el-col> <el-col :span="13"> <div class="sku-name" :title="item.skuName"> {{ item.skuName }} </div> </el-col> <el-col :span="6"> <div class="count">{{ item.count }}单</div> </el-col> </el-row> </div> </div> </template> <script setup> import dayjs from "dayjs"; // 定义变量 const skuSaleRank = ref([ { skuId: "0", skuName: "可口可乐", count: 9, amount: 0, }, { skuId: "0", skuName: "营养快线", count: 8, amount: 0, }, { skuId: "0", skuName: "阿萨姆奶茶", count: 6, amount: 0, }, { skuId: "0", skuName: "星巴克摩卡味", count: 2, amount: 0, }, { skuId: "0", skuName: "美汁源果粒橙", count: 1, amount: 0, }, { skuId: "0", skuName: "怡宝", count: 1, amount: 0, }, ]); const start = dayjs().startOf("month").format("YYYY.MM.DD"); const end = dayjs().endOf("day").format("YYYY.MM.DD"); </script> <style lang="scss" scoped> @import "@/assets/styles/variables.module.scss"; .sku-sale-rank { display: flex; flex-direction: column; height: calc((100vh - 120px) * 0.6); min-height: 538px; background: #ffffff; border-radius: 20px; .body { flex: 1; display: flex; flex-direction: column; justify-content: space-between; margin-top: 20px; .top { display: inline-block; width: 16px; height: 20px; margin-left: 10px; background: url("@/assets/user-task-stats/top.png"); text-align: center; font-size: 12px; font-weight: normal; color: #e9b499; line-height: 14px; } .top1 { width: 21px; height: 20px; background: url("@/assets/user-task-stats/top1.png"); color: #8e5900; } .top2 { width: 21px; height: 20px; background: url("@/assets/user-task-stats/top2.png"); color: #494949; } .top3 { width: 21px; height: 20px; background: url("@/assets/user-task-stats/top3.png"); color: #cf6d3d; } .sku-name { height: 20px; font-size: 14px; font-weight: 500; color: $--color-text-primary; line-height: 20px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .count { height: 20px; font-size: 14px; font-family: PingFangSC-Regular, PingFang SC; font-weight: 400; color: #737589; line-height: 20px; text-align: right; } } } </style> 基于后端接口export function getTopSelling() { return request({ url: "/manage/order/top-selling", method: "get", }); }改造前端代码,使其调用接口动态获取数据而不是写死
最新发布
03-30
<think>嗯,用户给了一个Vue组件的代码,需要根据后端接口改造前端,动态获取数据而不是写死的。首先,我得先理解现有的代码结构。看起来这是一个显示商品销售排名的组件,模板部分用了Element UI的el-row和el-col来布局,数据是写死在ref里的。目标是要调用getTopSelling接口获取真实数据。 首先,我需要确定如何在Vue的setup函数中发起请求。用户已经导入了dayjs,所以日期处理应该没问题。接下来,需要引入API方法,比如从某个api模块导入getTopSelling。然后,使用onMounted钩子来在组件挂载时调用接口。 然后,数据方面,原本的skuSaleRank是ref里的静态数据,现在需要替换成接口返回的数据。因此,应该将skuSaleRank初始化为空数组,然后在接口成功返回后更新它。可能需要处理加载状态和错误情况,但用户没提到,可能暂时不需要,但最好加上加载中和错误提示会更友好。 接下来,接口返回的数据结构是否和现有结构匹配?比如,后端返回的数据是否有skuId、skuName、count这些字段?如果不同,需要进行映射。假设接口返回的数据结构一致,那直接赋值即可;否则需要调整字段名。 另外,日期部分,start是当月第一天,end是当天,这个逻辑应该保留,因为用户可能希望显示当前时间段的数据。但需要确认后端是否需要这些日期作为参数,或者接口是否已经处理了时间范围。根据接口定义,getTopSelling是GET请求,可能不需要参数,但可能需要传递start和end。需要检查接口文档,但用户提供的接口函数没有参数,所以可能不需要。 然后,模板部分,v-for循环skuSaleRank,显示排名、商品名和订单数。如果接口返回的数据正确,这部分应该不需要修改,只需要确保数据正确加载即可。 样式方面,可能不需要改动,但需要注意如果数据为空时的展示情况。比如,如果接口没有返回数据,可能需要显示“暂无数据”的提示,提升用户体验。 另外,需要考虑异步加载时的状态,比如在数据加载前显示加载中的提示,避免页面空白。可以使用v-if或v-show来控制显示。 还有错误处理,比如网络请求失败时,应该捕获错误并提示用户,但用户可能暂时不需要,但最好加上。 综上,步骤大概是:引入API,使用onMounted调用接口,处理响应数据,替换静态数据,处理加载和错误状态,确保模板正确渲染。同时检查字段映射是否正确,是否需要参数传递时间范围。</think>我将分步骤为您讲解如何改造这个组件为动态获取数据模式: $$ 改造步骤 = [接口调用, 数据绑定, 状态处理, 错误处理]^T $$ 一、接口调用层改造 1. 添加接口引入 ```javascript import { getTopSelling } from &#39;@/api/order&#39; // 假设接口文件路径 ``` 2. 创建数据获取逻辑 ```javascript const loading = ref(false) const fetchData = async () => { try { loading.value = true const { data } = await getTopSelling() skuSaleRank.value = data // 假设接口返回数组结构一致 } catch (e) { console.error(&#39;获取热销数据失败:&#39;, e) // 可添加ElMessage错误提示 } finally { loading.value = false } } ``` 二、生命周期处理 ```javascript onMounted(() => { fetchData() }) ``` 三、模板优化(添加加载状态) ```html <template> <div class="box ..."> <!-- 原有header保持不变 --> <div class="body"> <template v-if="loading"> <el-skeleton :rows="6" animated /> </template> <template v-else> <el-row v-for="(item, index) in skuSaleRank" :key="item.skuId"> <!-- 原有内容 --> </el-row> </template> </div> </div> </template> ``` 四、数据映射建议(若接口字段不一致) ```javascript // 如果接口返回字段不同,例如返回salesCount而不是count: skuSaleRank.value = data.map(item => ({ skuId: item.productId, skuName: item.name, count: item.salesCount, amount: item.totalAmount })) ``` 五、日期参数传递(根据接口需求) ```javascript // 如果接口需要时间参数: const params = { start: dayjs().startOf(&#39;month&#39;).format(&#39;YYYY-MM-DD&#39;), end: dayjs().endOf(&#39;day&#39;).format(&#39;YYYY-MM-DD&#39;) } const { data } = await getTopSelling(params) ``` 六、最终代码结构示意图: $$ \begin{array}{ccc} \text{组件初始化} & \rightarrow & \text{onMounted} \\ & \downarrow & \\ \text{API调用} & \leftrightarrow & \text{数据处理} \\ & \downarrow & \\ \text{UI渲染} & \leftarrow & \text{状态更新} \\ \end{array} $$ 改造要点: 1. 使用`ref`保持响应式数据 2. 添加加载状态提升用户体验 3. 需要验证接口返回数据结构 4. 建议添加错误边界处理 5. 如果时间范围需要作为参数,需与后端确认格式 请根据实际接口返回数据结构调整字段映射,推荐使用Postman先验证接口返回格式。如果遇到跨域问题需要配置代理,可在vue.config.js中添加代理设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值