登陆

极彩彩票官网-运用Docker设置简略的Go开发环境

admin 2019-10-31 317人围观 ,发现0个评论



扼要

运用Docker树立强壮的本地开发环境。

  • 完结单个发动脚本以发动环境。
  • 记载开发人员应怎么发动环境并运转某些特定指令(例如发动/中止应用程序)。
  • 开发人员不应该对其本地计算机(Docker和编辑器在外)进行任何依靠。
  • 开发人员能够将源代码从本地计算机装置到环境中,以便他们能够运用自己喜爱的编辑器编写代码,并使代码主动同步到环境中。
  • 记载开发人员怎么将源代码从本地计算机装置到环境中。
  • 至少有一个东西能够调试应用程序。该东西应该巩固且易于运用。
  • 记载开发人员在开发期间怎么调试应用程序。

有关更多详细信息极彩彩票官网-运用Docker设置简略的Go开发环境,请参阅此票证。


规模

在本文中,我首要介绍一个简略的脚本,发动Docker开发环境,该环境能够履行Go代码并将源代码装置到环境中,以便开发人员能够直接从本地计算机运用自己喜爱的编辑器编写代码。


完结

Base image

有了这个简略的要求,就没有必要界说一个新的Docker镜像,我golang直接运用官方图画。

docker run --rm -it --name go-restful golang

上面的指令足以在交互形式下发动容器,能够履行任何go指令。

go version 
-> go version go1.13 linux/amd64

挂载源代码

现在我需要将repo的源代码装置到容器中,以便我能够在容器中测验我的代码。

docker run --rm -it --name go-restful \
-v $PWD:/go/src/github.com/the-evengers/go-restful golang

-v或许--volume选项答应我将目录从我的本地机器$PWD(作业目录)挂载到容器极彩彩票官网-运用Docker设置简略的Go开发环境内的目录/go/src/github.com/the-evengers/go-restful。尽管目录方位有点冗长,但咱们有必要这样做,由于它是Go所需的作业空间结构。

测验

现在让咱们从本地机器创立一些脚本并进行测验。

package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}

然后运转:

go run main.go
-> Hello World!

现在,做一些改动:

package main
import "fmt"
func main() {
fmt.Println("Hello World inside Dock深圳邮编er!")
}

然后,再次运转:

go run main.go
-> Hello World inside Docker!

是啊!咱们很快乐。

编写脚本

现在让咱们将一切内容移动到一个脚本文件中scripts/start-dev.sh以躲藏一切魔法。

#!/bin/bash
# Get repo absolute location for mounting into the container.
local_workdir=$(cd $(dirname $(dirname "${BASH_SOURCE[0]}")) >/dev/null 2>&1 && pwd)
main() {
# Working directory inside the container.
local container_workdir=/go/src/github.com/the-evengers/go-restful
# Identifying container name.
local container_name=go-restful
docker run --rm -it \
--name $container_name \
--volume $local_workdir:$container_workdir \
--workdir $container_workdir \
golang
}
main

我在这里做了一些改善:

  • 从脚本自身查找repo的肯定方位而不是运用$PWD,以便开发人员能够从任何地方运转脚本,装置依然能够正常作业。
  • 很好地声明一些变量的可读性。

完结。让咱们考虑一下主动完结,调试极彩彩票官网-运用Docker设置简略的Go开发环境功用!

我现在能够运用我最喜爱的编辑器编写代码并让它们在容器内运转。可是,我不能运用我的编辑器的酷功用,如主动完结,调试,运转等。让咱们鄙人一篇文章中这样做!


您能够在此处检查本文阶段的源代码。

翻译自:https://medium.com/@phuctm97/setup-simple-go-development-environment-with-docker-b8b9c0d4e0a8

请关注微信公众号
微信二维码
不容错过
Powered By Z-BlogPHP