2024年Go最全Docker Golang 开发环境搭建指南_docker golang开发环境,2024年最新面试字节跳动Golang研发岗

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

WORKDIR /go/src/app

复制源代码到容器中

COPY . .

安装依赖

RUN go get -d -v ./…

构建应用

RUN go build -o /go/bin/app

设置环境变量

ENV PATH=“/go/bin:${PATH}”

暴露指定端口

EXPOSE 8080

运行应用

CMD [“app”]


上述 Dockerfile 用于创建一个基于最新版 Golang 镜像的容器,并设置工作目录为 `/go/src/app`,然后将源代码复制到容器中,并安装依赖,构建应用。最后,设置环境变量和暴露指定端口,并运行应用。


### 步骤三:构建镜像


接下来,我们需要使用 Docker 来构建我们的开发环境镜像。在命令行中,切换到包含 Dockerfile 的项目根目录,并运行以下命令:



docker build -t golang-dev-env .


上述命令会在当前目录下构建一个名为 `golang-dev-env` 的镜像。构建过程可能需要一些时间,取决于你的系统和网络连接速度。


### 步骤四:运行容器


当镜像构建完成后,我们可以使用 `docker run` 命令来创建并运行一个容器,以开发我们的 Golang 项目。以下命令演示了如何运行容器并在其中进行开发:



docker run -it --rm -v $(pwd):/go/src/app -p 8080:8080 golang-dev-env


上述命令中的 `-v $(pwd):/go/src/app` 选项会将当前目录挂载到容器的 `/go/src/app` 目录,以便容器中的代码与主机上的代码保持同步。`-p 8080:8080` 选项将容器的 8080 端口映射到主机的 8080 端口,使得我们可以通过主机的浏览器访问容器中运行的应用。


### 步骤五:进行开发


容器运行后,我们可以在其中进行 Golang 项目的开发。可以使用任何喜欢的文本编辑器,修改容器内的代码,并使用 Golang 工具链来编译和运行代码。在容器中,我们可以使用以下命令来编译和运行我们的 Golang 应用:



go build
./app


以上命令将在容器中构建并运行我们的应用。如果应用需要依赖其他包,我们可以使用 `go get` 命令来下载和安装它们:



go get


此外,我们还可以使用 `go test` 命令来运行单元测试并确保代码的质量。


### 步骤六:调试应用


在容器中调试 Golang 应用是一项常见任务。为了实现这一目的,我们可以在容器内启用一个远程调试服务器,并通过远程调试器连接它。在容器中,我们可以使用以下命令来启用远程调试服务器:



dlv debug --listen=:2345 --headless=true --api-version=2


上述命令中的 `--listen=:2345` 选项将调试服务器绑定到容器内的 2345 端口上。我们可以通过以下步骤在本地机器上安装远程调试器 `dlv` 并连接到容器的调试服务器:


1. 在本地机器上使用以下命令安装远程调试器:

 

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

2. 在本地机器上使用以下命令连接到容器的调试服务器:



![img](https://img-blog.csdnimg.cn/img_convert/4eb5cb37576b754455641d82222be973.png)
![img](https://img-blog.csdnimg.cn/img_convert/04f826bb90829033b9ce05a7b24c8ddf.png)
![img](https://img-blog.csdnimg.cn/img_convert/7623bbe00e22600926eeecaf5c8da7d1.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**

,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值