返回顶部
首页 > 资讯 > 后端开发 > GO >Docker中怎么搭建Golang开发环境
  • 782
分享到

Docker中怎么搭建Golang开发环境

2024-04-02 19:04:59 782人浏览 八月长安
摘要

今天就跟大家聊聊有关Docker中怎么搭建golang开发环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。获取Docker镜像我们使用官方最新稳定

今天就跟大家聊聊有关Docker中怎么搭建golang开发环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。


获取Docker镜像
我们使用官方最新稳定版的镜像 Golang:latest, 获取镜像前先得确保你电脑上运行了 Docker 客户端,没有的去官网下载一下吧这里就不多说了。
下载dockerHub上的镜像直接使用命令:
docker pull golang
下载完镜像后用镜像运行一个容器
docker run --rm -it --name go-Http-demo golang bash
上面这个命令用镜像 golang创建了一个名为 go-http-demo的容器,在容器中创建了一个 Bash会话。--rm选项指定容器退出后自动移除容器。
运行完上面的命令后我们就进入了运行的容器中,运行 go version 查看以下 go的版本:
[email protected]:/go# go version
go version go1.13.6 linux/amd64
[email protected]:/go#
你可以根据自己的需要在https://hub.docker.com/_/golang 中查找自己需要的版本的 golang镜像运行容器。
在容器中运行Go项目
我们使用《深入学习用Go编写HTTP服务器》中最后写的支持优雅关停服务的 HTTPServer的源码,将它放到 Docker容器里伺服宿主机的请求。HTTP Server的源码如下,想探究代码具体怎么实现的看链接里的文章就好了。

package mainimport (    "context"    "fmt"    "log"    "net/http"    "os"    "os/signal"    "syscall")func main() {    mux := http.NewServeMux()    mux.Handle("/", &helloHandler{})    server := &http.Server{        Addr:    ":8080",        Handler: mux,    }    // 创建系统信号接收器    done := make(chan os.Signal)    signal.Notify(done, os.Interrupt, syscall.SIGINT, syscall.SIGTERM)    go func() {        <-done        if err := server.Shutdown(context.Background()); err != nil {            log.Fatal("Shutdown server:", err)        }    }()    log.Println("Starting HTTP server...")    err := server.ListenAndServe()    if err != nil {        if err == http.ErrServerClosed {            log.Print("Server closed under request")        } else {            log.Fatal("Server closed unexpected")        }    }}type helloHandler struct{}func (*helloHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {    fmt.Fprintf(w, "Hello World")}

把源码放在本地电脑的 /Code/go/src/example.com/http-demo/main.go中,文件目录你们做的时候根据自己的情况写路径。
接下来就要把这个代码放到容器里去运行了,切到代码目录里执行如下命令:

docker run --rm -it --name go-http-demo \  -v $PWD:/go/src/example.com/go-http-demo \  -p 8000:8080  golang

-v选项允许我们挂载多个本地目录或者数据卷到容器中,更改会在容器内外相互同步,上面的命令将 /Code/go/src/example.com/go-http-demo/挂载到了容器的 /go/src/example.com/go-http-demo。
-p指定主机和容器的端口映射,因为代码里 HTTP服务是监听 8080端口的,所以我们将主机的 8000端口和容器的 8080端口做了映射。
执行完上面的命令,我们切换到到容器里的 Bash会话,切到代码目录运行 go run main.go后,在自己的电脑上打开浏览器访问 http:localhost:8080看到下图中的页面就证明服务器在容器里已经正常运行起来了。

用docker-compose管理容器
通过上面的内容我们已经用 Docker构建好了一个 Go的开发环境,不过每次打那堆命令,还要进容器执行 go命令启动程序太费事了,我们用 docker-compose把上面那些流程自动化一下。
在项目代码根目录创建 docker-compose.yml:

version: '3'services:  app:    image: golang:latest    volumes:      - $PWD:/go/src/examplecom/http_demo    ports:      - "8000:8080"    command: go run /go/src/examplecom/http_demo/main.go

如果你们项目里不允许就找个目录放这个文件,我自己就是单独有个目录里面放了好几个项目的 Docker配置文件,有 PHP项目的也有 Go项目的。
上面的编排文件里只定义了一个叫 app的服务,其他的也很容易理解我就不说了,唯一要注意的一点就是如果 yml文件在项目外 volumes里的配置就换成绝对路径不要用 $PWD了
接下来启动 docker-compose:
docker-compose up -d
如果启动不成功先不要在 daemon模式下运行把 -d去掉,就能看到具体什么错误,等调试正常了再后台启动。
代码有修改后,需要重新编译项目,针对我们的容器执行下面的命令即可
docker-compose restart
想要进入运行的容器中执行操作使用命令:
docker exec -it <container name> bash
给我们创建的 app发送 go test命令让它在容器内执行:
docker-compose exec app go test

看完上述内容,你们对Docker中怎么搭建Golang开发环境有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网GO频道,感谢大家的支持。

您可能感兴趣的文档:

--结束END--

本文标题: Docker中怎么搭建Golang开发环境

本文链接: https://lsjlt.com/news/58913.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Docker中怎么搭建Golang开发环境
    今天就跟大家聊聊有关Docker中怎么搭建Golang开发环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。获取Docker镜像我们使用官方最新稳定...
    99+
    2024-04-02
  • docker怎么搭建php开发环境
    要搭建PHP开发环境,可以使用Docker来快速部署。以下是基本的步骤:1. 安装Docker:根据你的操作系统,安装适合的Dock...
    99+
    2023-08-18
    docker php
  • docker怎么搭建python开发环境
    要搭建Python开发环境,可以使用Docker来进行部署。以下是一些步骤来设置Docker中的Python开发环境:1. 首先,安...
    99+
    2023-08-18
    docker python
  • docker怎么搭建java开发环境
    要搭建Java开发环境,可以使用Docker容器来快速部署和管理开发环境。以下是一些步骤: 下载并安装Docker:首先需要在你...
    99+
    2024-04-08
    docker java
  • golang如何开发环境搭建
    搭建步骤:1、在Golang官方网站上下载适合操作系统的安装包;2、按照官方文档或安装指南的说明,执行安装程序进行安装;3、将Golang的安装路径添加到系统的PATH环境变量中;4、在计算机上创建一个用于存放Golang项目的工作目录;5...
    99+
    2023-12-15
    Golang 环境搭建
  • 怎么在vscode中搭建一个golang开发环境
    怎么在vscode中搭建一个golang开发环境?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。vscode有什么用Visual Studio Code 是一个运行于 OS X,...
    99+
    2023-06-07
  • docker本地PHP开发环境搭建
    一、搭建本地PHP开发环境 概述 本文简单介绍通过启动一个nginx和fpm容器来搭建一个php web运行环境,以文档命令为例,H:/home/code/docker/web 目录下可以放多个子项目,只需针对不同的项目配置不同的nginx...
    99+
    2023-09-02
    php docker nginx linux安装PHP运行环境
  • docker如何搭建php开发环境
    要搭建一个基于Docker的PHP开发环境,可以按照以下步骤进行操作:1. 安装Docker:根据你的操作系统,安装适合的Docke...
    99+
    2023-08-23
    docker php
  • docker如何搭建python开发环境
    要搭建Python开发环境,可以通过Docker容器快速部署一个包含Python环境的开发环境。以下是一个简单的步骤: 安装Do...
    99+
    2024-04-08
    docker python
  • docker搭建oracle开发环境的方法
    本篇内容主要讲解“docker搭建oracle开发环境的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker搭建oracle开发环境的方法”吧!oracle太大了,对于开发人员来说,在...
    99+
    2023-06-19
  • 怎么搭建PHP开发环境
    这篇文章主要介绍怎么搭建PHP开发环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!安装Apache下载Apache,地址:http://www.apachelounge.com/download/,如下图: 2、...
    99+
    2023-06-15
  • Laravel开发环境怎么搭建
    本文小编为大家详细介绍“Laravel开发环境怎么搭建”,内容详细,步骤清晰,细节处理妥当,希望这篇“Laravel开发环境怎么搭建”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。开始前你需要先去安装一个docke...
    99+
    2023-07-04
  • Android开发环境怎么搭建
    要搭建Android开发环境,您需要按照以下步骤进行操作:1. 安装Java Development Kit (JDK):Andro...
    99+
    2023-08-17
    Android
  • 怎么搭建android开发环境
    要搭建Android开发环境,需要以下步骤:1. 安装Java Development Kit (JDK)Android开发需要使用...
    99+
    2023-08-24
    android
  • 怎么搭建linux开发环境
    搭建Linux开发环境可以分为以下几个步骤: 安装Linux操作系统:选择一个适合自己的Linux发行版,如Ubuntu、Cen...
    99+
    2023-10-26
    linux
  • ubuntu中怎么搭建php开发环境
    这篇文章将为大家详细讲解有关ubuntu中怎么搭建php开发环境,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先安装nginxnginx的安装和配置其实很简单,nginx本身非常轻量级,直...
    99+
    2023-06-05
  • CentOS中怎么搭建Python开发环境
    今天就跟大家聊聊有关CentOS中怎么搭建Python开发环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、Python升级查看Python版本python -V&nb...
    99+
    2023-06-17
  • eclipse中android开发环境怎么搭建
    在Eclipse中搭建Android开发环境需要进行以下步骤:1. 安装Java Development Kit(JDK):确保电脑...
    99+
    2023-09-21
    eclipse android
  • 使用PhpStorm和Docker怎么搭建一个开发环境
    今天就跟大家聊聊有关使用PhpStorm和Docker怎么搭建一个开发环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一步:使用 dockerfile 定制一个 PHP 镜像接手...
    99+
    2023-06-15
  • docker怎么搭建lnmp环境
    要搭建一个LNMP环境(即 Linux + Nginx + MySQL + PHP),可以使用Docker来实现。 以下是基本的步骤...
    99+
    2023-10-23
    docker lnmp
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作