当前位置: 首页 > 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 文件,即可调用相关接口

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • android 音频播放器,(一)SoundPool音频播放实例
  • linux 原子操作,信号量,互斥锁mutex,自旋锁splock
  • 嵌入式数据库 sqlite3
  • 中央处理器CPU
  • 力扣第五十题——Pow(x,n)
  • Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
  • 【Linux】-----进度条小程序
  • 计算机毕业设计选题推荐-课程教学辅助系统-Java/Python项目实战
  • 【教程】Python语言的地球科学常见数据——植被指数数据-GIMMS NDVI的处理
  • Python基础教程(二)字符串和函数
  • CSS学习 01 利用鼠标悬停制造文本隐藏效果
  • 【大模型从入门到精通2】openAI api的入门介绍2
  • java基础 之 集合与栈的使用(四)
  • 智能仪表板DevExpress Dashboard v24.1 - 新增级联参数过滤
  • 数据结构(7):查找
  • (三)从jvm层面了解线程的启动和停止
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 2017-08-04 前端日报
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Android框架之Volley
  • Cookie 在前端中的实践
  • ES6语法详解(一)
  • hadoop集群管理系统搭建规划说明
  • Hexo+码云+git快速搭建免费的静态Blog
  • mysql外键的使用
  • NSTimer学习笔记
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Sublime text 3 3103 注册码
  • TypeScript迭代器
  • 当SetTimeout遇到了字符串
  • - 概述 - 《设计模式(极简c++版)》
  • 聊聊flink的BlobWriter
  • 实战|智能家居行业移动应用性能分析
  • 想写好前端,先练好内功
  • 在weex里面使用chart图表
  • 责任链模式的两种实现
  • 最近的计划
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • #git 撤消对文件的更改
  • (02)Hive SQL编译成MapReduce任务的过程
  • (10)STL算法之搜索(二) 二分查找
  • (152)时序收敛--->(02)时序收敛二
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (C语言)二分查找 超详细
  • (二)斐波那契Fabonacci函数
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (原)本想说脏话,奈何已放下
  • (转)【Hibernate总结系列】使用举例
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (轉)JSON.stringify 语法实例讲解
  • .JPG图片,各种压缩率下的文件尺寸
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net core 外观者设计模式 实现,多种支付选择
  • .NET 命令行参数包含应用程序路径吗?
  • .net 使用ajax控件后如何调用前端脚本