登录
首页 >  Golang >  Go问答

GO 的 Docker 开发环境

来源:stackoverflow

时间:2024-03-29 23:30:34 255浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《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/src/app
// dockerfile
from golang:latest
run mkdir /go/src/app
workdir /go/src/app
env go111module=on
env gopath /go
add ./app /go/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/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 开发环境》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>