GO 的 Docker 开发环境
欢迎各位小伙伴来到编程网,相聚于此都是缘哈哈哈!今天我给大家带来《GO 的 Docker 开发环境》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!
我想做什么
我想为 go 设置 docker 开发环境。
代码
// directory
project(absolute path: /uses/[username]/project)
|--- app
| |--- config
| | |___ config.go
| |--- main.go
| |___ config.ini
|--- docker-compose.yml
|___ dockerfile
// main.go
package main
import (
"app/config"
"fmt"
)
func main() {
fmt.println("hello world")
fmt.println(config.config.apikey)
fmt.println(config.config.apisecrete)
}
// docker-compose.yml
version: '3.8'
services:
app:
build: .
tty: true
volumes:
- ./app:/go/class="lazy" data-src/app
// dockerfile
from golang:latest
run mkdir /go/class="lazy" data-src/app
workdir /go/class="lazy" data-src/app
env go111module=on
env gopath /go
add ./app /go/class="lazy" data-src/app/
开发环境
当我运行 docker-compose exec app go env
时,我得到
GOPATH="/go"
GOROOT="/usr/local/go"
问题
当我运行 docker-compose up -d --build
时,
我明白了
package app/config 不在 goroot (/usr/local/go/class="lazy" data-src/app/config)
中。
因此,我无法在 main.go
文件中导入 "app/config"
。
我想知道用docker搭建go开发环境时如何导入自制的包。
正确答案
您可以按照go-env-series了解如何使用Docker在代码中定义您的Go开发环境
示例:chris-crone/containerized-go-dev
second article 确实提到了 go mod init
,这对 with import path 有帮助:
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《GO 的 Docker 开发环境》文章吧,也可关注编程网公众号了解相关技术文章。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341