推荐背景
在日常开发中,测试是不可避免的,在针对DAO层的代码写测试用例的时候,直接将依赖的存储服务(比如mongodb)的client给mock掉,可能达不到检验代码中语法或数据操作正确性的目的。如果在本地起一个相关的存储服务又会由于不同的项目带来环境的污染,并且测试代码由于依赖本地环境可能导致多人协作困难。在云原生时代,你可能第一想到的就是利用docker container 来解决环境问题,而本文所推荐的就是用 go 语言来操作docker的开源项目。
项目链接:https://github.com/moby/moby
快速使用
准备环境
安装docker:https://www.docker.com/
安装
// 安装 docker client
go get github.com/docker/docker/client
启动mongo
package main
import (
"context"
"fmt"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/client"
"github.com/docker/go-connections/nat"
)
const (
mongoExposedPort =