📌  相关文章
📜  docker mac 运行调试模式 - Go 编程语言 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:14:45.872000             🧑  作者: Mango

Docker Mac 运行调试模式 - Go 编程语言

在Mac上使用Docker运行调试模式有很多好处。本文将向您介绍如何使用Docker运行调试模式并进行Go程序开发。

准备工作

首先,您需要安装 Docker Desktop 在您的机器上。Docker Desktop是一个可用于 Mac OS X 和 Windows 的Docker环境。然后,您需要了解以下概念:

  • 镜像(Image):相当于一个Docker容器的模板,包含构建容器所需的文件和设置。
  • 容器(Container):由Docker Image启动的执行环境。
  • Dockerfile:Dockerfile是用来构建镜像的脚本。Dockerfile中包含了所有构建容器所需的文件和设置。
使用Docker运行调试模式

下面是通过Docker运行调试模式的步骤:

  1. 构建Docker镜像

创建一个名为 Dockerfile 的文件,在其中指定运行环境,然后构建Docker镜像。例如:

# 使用golang官方镜像,版本1.16作为基础镜像
FROM golang:1.16

# 将工作目录设置为 /go/src/app
WORKDIR /go/src/app

# 拷贝当前目录下的所有文件至容器内的 /go/src/app 目录下
COPY . /go/src/app

# 在容器内使用 go get 命令下载所有依赖
RUN go get -d -v ./...

# 将项目编译成可执行文件,名为app
RUN go build -o app .

# 程序入口
CMD ["/go/src/app/app"]

使用以下命令在当前目录下构建镜像:

docker build -t my-go-app .

上述命令会构建一个名为 my-go-app 的镜像。

  1. 运行Docker容器

使用以下命令行运行容器,并将当前目录挂载到容器中:

docker run --rm -it -v "$(pwd)":/go/src/app -p 8000:8000 my-go-app

以上命令将执行镜像,并将本地文件夹挂载在容器中 /go/src/app 目录下,从而可以在本地编辑文件并在容器内编译。 -p 选项指定端口映射。

  1. 调试Go程序

在容器中使用调试器运行程序。可以使用 Delve 进行调试。

在容器中使用以下命令安装 Delve:

go get github.com/go-delve/delve/cmd/dlv

接下来使用delve运行程序,并开始调试会话:

dlv debug ./app

然后,您就可以在您选定的编辑器(如VS Code)中进行调试。

结论

现在,您已经学会了如何使用Docker在Mac上运行调试模式,并在其中进行Go程序开发。使用Docker运行调试模式可以有效地隔离环境,并可在开发环境中保持整洁,使您的工作更加高效。