当前位置: 首页 > news >正文

docker安装与container基本使用

安装

Homebrew 的 Cask 已经支持 Docker for Mac, mac用户狂喜

brew install --cask --appdir=/Applications docker

其他入门用法可参考 Docker Hello World- 菜鸟教程 或网上自行搜索博客学习。本文主要记录我运行go-zero-mall用到的一些注意点。当然,gonivinck项目书写的dockerfile格式也可以为我们平时日常开发做参考。

打包容器

在学习这个项目 go-zero-mall 时,需要打包一个容器, 好在它的docker file都写好了 https://github.com/nivin-studio/gonivinck.

文件修改

不过需要修改一下几处地方:
.env环境的代码路径改一下


由于我是mac用户,这里也需要修改下


Golang 文件夹的dockerfile也要改一下,不然依赖下不下来. 改为 goctl@v1.5.0 版本


打包镜像

docker-compose up -d

运行代码

切换到go-zero-mall代码路径下,进行golang容器环境.

docker exec -it gonivinck-golang-1 bash

容器名称可以在docker desktop查看,也可以通过执行命令查看,可能不通版本的机子会不太一样



安装相关依赖(注意是在进入容器环境的终端会话下,也就是你刚刚执行docker exec -it gonivinck-golang-1 bash的terminal)

./nivin install

然后启动四个服务。

./nivin start rpc order
./nivin start api order
./nivin start rpc pay
./nivin start api pay
./nivin start rpc product
./nivin start api product
./nivin start rpc user
./nivin start api user

新建数据表

为了运行正常,我们还得在mysql容器中创建一个mall 数据库和4张数据表。先让终端进入mysql容器

docker exec -it gonivinck-mysql-1 bash

登录一下

mysql -u root -p

输入密码,密码在构建容器时的.env文件设置了


登录后新建数据库: create dababase mall,然后运行services四个服务下的model文件夹下的sql文件


api验证

使用postman,导入go-zero-mall仓库下的 gomall.postman_collection.json 文件,即可调用相关接口

相关文章:

docker安装与container基本使用

安装 Homebrew 的 Cask 已经支持 Docker for Mac, mac用户狂喜 brew install --cask --appdir/Applications docker其他入门用法可参考 Docker Hello World- 菜鸟教程 或网上自行搜索博客学习。本文主要记录我运行go-zero-mall用到的一些注意点。当然,gonivinck项…...

掌握文本搜索的利器:深入解析 Linux grep 命令的强大功能

grep 是一个强大的命令行工具,用于在文件中搜索指定的模式(字符串或正则表达式)。它的名字来源于 "global regular expression print",常用于文本处理、日志分析等任务。以下是 grep 命令的详细介绍和常用操作: 基本用法 搜索匹配的行 grep "pattern"…...

【天机学堂】面试总结

写在前面,首先要将天机学堂包装一下,智慧教育平台》,暂时就想到这个。天机学堂文档 1.包装简历 待更新。。。...

Java中Stream操作

Java中Stream操作 Stream 和 Optional区别 用途不同:Stream 用于处理集合中的元素序列,支持丰富的中间操作和终端操作;Optional 用于表示一个值可能为 null 的情况,提供了一种更优雅的处理方式。数据处理 vs. 容器:S…...

Spring Boot + MinIO 实现文件的分片上传、秒传、续传功能

文件上传是一个常见的功能需求。然而,传统的文件上传方式在面对大文件或不稳定的网络环境时,可能会出现性能瓶颈和上传失败的问题。为了解决这些问题,分片上传、秒传和续传技术应运而生. 技术选型 Spring Boot:一个快速开发框架,简化了 Spring 应用的搭建和配置。 MinIO:…...

Kafka基本概念,工作流程介绍

1、消息队列与Kafka 1.1、Kafka简介 Kafka使用scala开发,支持多语言客户端(c、java、python、go等) Kafka最先由LinkedIn公司开发,之后成为Apache的顶级项目。 Kafka是一个分布式的、分区化、可复制提交的日志服务 LinkedIn使…...

Golang | Leetcode Golang题解之第306题累加数

题目: 题解: func stringAdd(x, y string) string {res : []byte{}carry, cur : 0, 0for x ! "" || y ! "" || carry ! 0 {cur carryif x ! "" {cur int(x[len(x)-1] - 0)x x[:len(x)-1]}if y ! "" {cur i…...

快速排序(上)

快速排序 前言 快速排序算法是最流行的排序算法,且有充足的理由,因为在大多数情况下,快速排序都是最快的。所以学习快速排序算法十分有必要。当然,既然它这么好,也就不太容易理解。 正文 Hoare版快排 快速排序是Hoare在1962年提出的一种二叉树结构的…...

数据结构-队列

队列对于临时数据的处理也十分有趣,它跟栈一样都是有约束条件的数组。区别在于我们想要按什么顺序去处理数据,而这个顺序当然是要取决于具体的应用场景。 你可以将队列想象成是电影院排队。排在最前面的人会最先离队进入影院。套用到队列上,…...

MySQL:操作符

MySQL 操作符 MySQL 操作符是 MySQL 数据库操作中不可或缺的一部分,它们用于执行各种数据运算、比较、逻辑判断等。 MySQL 中有多种操作符可用于数据查询和筛选 MySQL 所提供的运算符可以直接对表中数据或字段进行运算 MySQL 支持 4 种运算符,分别是&…...

反序列化靶机实战serial(保姆级教程)

一.信息收集 靶机地址下载:https://download.vulnhub.com/serial/serial.zip 打开靶机,在kali虚拟机中进行主机存活探测 可以知道靶机ip地址为192.168.133.171 然后扫描端口 可以发现有一个22端口跟80端口 然后接下来用kali扫描它的目录 可以发现有一…...

【Git】git 从入门到实战系列(一)—— Git 的诞生,Linus 如何在 14 天内编写出 Git?

<> 博客简介&#xff1a;Linux、rtos系统&#xff0c;arm、stm32等芯片&#xff0c;嵌入式高级工程师、面试官、架构师&#xff0c;日常技术干货、个人总结、职场经验分享   <> 公众号&#xff1a;嵌入式技术部落   <> 系列专栏&#xff1a;C/C、Linux、rt…...

com.microsoft.sqlserve r:sqljdbc4:jar:4.0 was not found in......如何解决?

这个错误提示说 com.microsoft.sqlserver:sqljdbc4:jar:4.0 这个依赖无法从 Maven 中央仓库&#xff08;https://repo.maven.apache.org/maven2&#xff09;下载&#xff0c;导致项目无法构建。以下是解决该问题的几种方法&#xff1a; 方法一&#xff1a;手动安装依赖 下载 J…...

数据集——鸢尾花介绍和使用

文章目录 一、鸢尾花数据集内容二、使用中常转换DataFrame 一、鸢尾花数据集内容 from sklearn import svm, datasets # 鸢尾花数据 iris datasets.load_iris() print(iris.data) X iris.data[:, :2] # 为便于绘图仅选择2个特征 y iris.target它包含了150个样本&#xff0c…...

ElasticSearch第4篇(亿级中文数据量 ElasticSearch与Sphinx建索引速度、查询速度、并发性能、实测对比)

经过实测&#xff1a;1.09亿的数据量进行中文检索。ElasticSearch单机的检索性能在0.005~5.6秒之间&#xff0c;此检索速度可满足95%的业务场景&#xff08;注意&#xff1a;每条ES文档平均65个汉字&#xff0c;数据源取自几千本小说&#xff0c;大部分文档在15~300个汉字之间&…...

过期知识:thinkphp5 使用migrate给现有的数据表新增表字段

个人开发网站记录, 这个文章主要是个以后健忘的我看的. 我在搞我的画笔审核 , 发现数据表的画笔数据在审核驳回的时候还是软删除好一些, 免得用户找不到之前上传的画笔数据, 后期也可以考虑重新显示给用户,让用户可以修改画笔信息重新提交审核. 这个时候想起了…...

前端和Postman调用同一个接口,拿到的数据不一样

1、表现 联调一个List接口&#xff0c;Postman自测得到的ID和前端调用得到的ID&#xff0c;结果不一样。前者结果&#xff1a; 后者结果&#xff1a; 同一份代码、同一个数据库&#xff0c;出现这种错误&#xff0c;大概率是类型转换时出问题了&#xff0c;但检查代码发现&…...

1000W长连接,如何建立和维护?千万用户IM 架构设计

1000W长连接&#xff0c;如何建立和维护&#xff1f;千万用户IM 架构设计 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格&#xff0c;遇到很多很重要的架构类/设计类…...

vulhub:Apache解析漏洞CVE-2017-15715

Apache HTTPD是一款HTTP服务器&#xff0c;它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个换行解析漏洞&#xff0c;在解析PHP时&#xff0c;1.php\x0A将被按照PHP后缀进行解析&#xff0c;导致绕过一些服务器的安全策略。 #启动靶机 cd /Vulnhub/vulhub-mast…...

开发中可能会面临的真实问题及处理流程

接口返回数据不符合预期 问题描述&#xff1a;接口返回的数据结构或字段名称与前端预期不符&#xff0c;导致页面展示错误。 处理流程&#xff1a; 检查接口文档&#xff1a;确保前后端约定的接口文档是最新的&#xff0c;并且描述一致。 前后端沟通&#xff1a;与后端开发人员…...

企业级大数据产品架构设计指南

企业级大数据产品架构设计指南&#xff1a;从概念到落地的完整方案 标题选项 企业级大数据架构设计全攻略&#xff1a;从0到1构建可扩展的数据平台大数据产品架构设计指南&#xff1a;如何打造高性能、高可用的企业级解决方案从理论到实践&#xff1a;企业级大数据产品架构设计…...

Vue项目实战:5分钟搞定ECharts与高德地图(AMap)的完美结合

Vue项目实战&#xff1a;5分钟实现ECharts与高德地图的深度整合 最近在开发一个物流数据可视化平台时&#xff0c;遇到了一个典型需求&#xff1a;如何在地图上动态展示全国各区域的订单流向&#xff1f;经过反复尝试&#xff0c;发现ECharts与高德地图的组合是最佳解决方案。本…...

如何用浏览器扩展将网页内容一键转换为AI知识库

如何用浏览器扩展将网页内容一键转换为AI知识库 【免费下载链接】anything-llm 这是一个全栈应用程序&#xff0c;可以将任何文档、资源&#xff08;如网址链接、音频、视频&#xff09;或内容片段转换为上下文&#xff0c;以便任何大语言模型&#xff08;LLM&#xff09;在聊天…...

从碎片到全景:基于RDP缓存文件(*.bmc)的自动化取证与图像重构实践

1. 揭开RDP缓存文件的神秘面纱 第一次接触*.bmc文件时&#xff0c;我完全没意识到这些看似普通的缓存文件里藏着这么多秘密。当时正在处理一个内部安全审计项目&#xff0c;需要确认某位离职员工是否通过远程桌面泄露了公司数据。在翻遍常规日志无果后&#xff0c;同事提醒我检…...

Xcode实战:用SwiftUI快速构建一个可交互的卡片视图(含SF Symbols使用技巧)

Xcode实战&#xff1a;用SwiftUI快速构建一个可交互的卡片视图&#xff08;含SF Symbols使用技巧&#xff09; 当你第一次看到那些精美的卡片式UI时&#xff0c;是否好奇它们是如何被构建出来的&#xff1f;在移动应用设计中&#xff0c;卡片视图因其清晰的视觉层次和自然的交互…...

Vue+SpringBoot全栈项目搭建:手把手教你实现一个带分页和Swagger的CRUD应用

VueSpringBoot全栈开发实战&#xff1a;从零构建企业级CRUD应用 1. 全栈技术选型与项目初始化 在当今快速迭代的互联网开发领域&#xff0c;前后端分离架构已成为主流选择。Vue.js作为渐进式前端框架&#xff0c;以其轻量级和响应式数据绑定特性&#xff0c;成为构建用户界面…...

保姆级教程:用C++和Eigen库手搓一个URDF机器人正解器(以Franka Panda为例)

从零实现URDF机器人正解器&#xff1a;C与Eigen实战指南&#xff08;Franka Panda案例&#xff09; 机械臂末端执行器的精准定位是机器人控制的基础。本文将带你用C和Eigen库&#xff0c;不依赖ROS等框架&#xff0c;从零构建一个完整的URDF解析与正运动学计算系统。我们会以F…...

BG3ModManager全攻略:从基础配置到故障解决的模组管理大师之路

BG3ModManager全攻略&#xff1a;从基础配置到故障解决的模组管理大师之路 【免费下载链接】BG3ModManager A mod manager for Baldurs Gate 3. 项目地址: https://gitcode.com/gh_mirrors/bg/BG3ModManager 一、基础配置&#xff1a;搭建你的模组管理中心 让游戏与工具…...

Linux 系统调用实现原理

Linux 系统调用实现原理 系统调用的重要性 作为科技创业者&#xff0c;我深刻理解系统调用在操作系统中的核心地位。系统调用是用户空间与内核空间交互的桥梁&#xff0c;是应用程序访问操作系统服务的唯一途径。深入理解系统调用的实现原理&#xff0c;对于系统性能优化和安全…...

收藏!小白程序员也能轻松掌握大模型:VLLM入门指南与实战教程

收藏&#xff01;小白程序员也能轻松掌握大模型&#xff1a;VLLM入门指南与实战教程 VLLM是由伯克利大学LMSYS组织开源的大语言模型高速推理框架&#xff0c;通过PagedAttention技术、连续批处理和优化CUDA内核&#xff0c;显著提升模型推理吞吐量和内存效率。本文详细介绍了VL…...