docker安装与container基本使用

安装

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

bash 复制代码
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 版本

打包镜像

bash 复制代码
docker-compose up -d

运行代码

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

bash 复制代码
docker exec -it gonivinck-golang-1 bash

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

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

bash 复制代码
./nivin install

然后启动四个服务。

bash 复制代码
./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容器

bash 复制代码
docker exec -it gonivinck-mysql-1 bash

登录一下

bash 复制代码
mysql -u root -p

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

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

api验证

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

相关推荐
thinkMoreAndDoMore1 天前
linux内核匹配I2C设备
linux·运维·服务器
小政同学1 天前
【NFS故障】共享的文件无法执行
linux·运维·服务器
禅口魔心1 天前
边缘网关开发计划(一):在 Rock 5T 上部署 Docker
物联网·docker·rk3588·边缘网关
ch3nyuyu1 天前
Ubuntu(乌班图)基础指令
linux·运维·网络
huihuihuanhuan.xin1 天前
记一次 Docker PostgreSQL 连接认证失败的排查与解决
docker
挽安学长1 天前
保姆级教程,通过GACCode使用Claude Code Desktop!
运维·服务器
firstacui1 天前
MGRE实验
运维·服务器·网络
审判长烧鸡1 天前
Go命名规则【1】文件命名的“潜规则”
go·命名·新手·下划线全名
白菜欣1 天前
Linux —《开发三件套:gcc/g++、gdb、make/Makefile 全解析》
linux·运维
何中应1 天前
Grafana如何给列表设置别名
运维·grafana·监控