- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我为服务器端 api 引入了 local package
和 go modules
。
通过命令 go run main.go
,它在本地环境中运行良好,没有错误。
但是在命令docker-compose up
时不起作用。
我想知道编写 Dockerfile 和 docker-compose.yml 来修复什么。
我在 article
目录下命令 go mod init
。
因此,它在 go.mod
中设置了 module github.com/jpskgc/article
。
article
├ db
├ client
├ api
│ ├ main.go
│ ├ controller
│ │ └ controller.go
│ └ Dockerfile
├ nginx
├ docker-compose.yml
├ go.mod
└ go.sum
主.go
package main
import (
"database/sql"
"os"
"time"
"github.com/gin-gonic/gin"
"github.com/jpskgc/article/api/controller"
)
api := router.Group("/api")
{
api.GET("/articles", func(c *gin.Context) {
controller.GetArticleController(c, db)
})
}
router.Run(":2345")
}
docker 文件
FROM golang:latest
ENV GO111MODULE=on
WORKDIR /go/src/github.com/jpskgc/article/app
COPY . .
RUN go mod download
RUN go build
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
ENTRYPOINT ["/go/src/github.com/jpskgc/article/app/api"]
docker-compose.yml
version: '3'
services:
api:
build:
dockerfile: Dockerfile.dev
context: ./api
volumes:
- ./api:/go/src/github.com/jpskgc/article/app
depends_on:
- db
tty: true
environment:
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- MYSQL_USER
- MYSQL_PASSWORD
- MYSQL_HOST
- GO111MODULE
go.mod
module github.com/jpskgc/article
go 1.12
require (
github.com/aws/aws-sdk-go v1.23.7
github.com/gin-contrib/cors v1.3.0
github.com/gin-gonic/gin v1.4.0
github.com/go-sql-driver/mysql v1.4.1
github.com/google/uuid v1.1.1
github.com/joho/godotenv v1.3.0
)
我希望服务器端 api 在 docker 环境中正常工作而不会出错。
但实际是服务端docker环境运行失败。
这是命令 docker-compose up 时的错误消息
build command-line-arguments:
cannot load github.com/jpskgc/article/api/controller:
cannot find module providing package github.com/jpskgc/article/api/controller
article_api_1 exited with code 1
这里是github上的全部源代码(分支:try-golang-mod)。我希望有人给我 Dockerfile
和 docker-compose.yml
的答案代码。 https://github.com/jpskgc/article/tree/try-golang-mod
最佳答案
您的 docker 上下文是 ./api,但 go.mod 在父目录中,因此 go.mod 不包含在您的镜像中。
一种选择是将您的 docker 上下文更改为源代码树的根目录(api 的父目录),然后将文件/目录从那里复制到图像中。
关于docker - 在Dockerfile和docker-compose.yml中编写什么以在docker环境中传递本地包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57647727/
我已经成功创建了我的第一个 django 项目。 我的项目 foo 和 foobar 中有两个应用程序。 我在每个应用程序文件夹中创建了一个名为“fixtures”的文件夹。我没有在我的setting
我遵循了 cap + nginx + unicorn 上的文档,但在理解如何正确进行数据库部署时遇到了一些问题。 /config/database.yml 不应该在 git repo 中(最好) 在/
GitLab server can't start .原因很可能是 gitlab.yml 配置文件不正确。 用什么工具检查yml语法是否正确? 我试过 Notepad++ 和 SublimeText,
我们有一个站点范围的 config.yml 文件,它联系 api key 等... 我的另一个 YML 文件能否访问 config.yml 中的值? 配置文件: development: th
我正在尝试在我的第一个测试应用程序中设置用户和安全管理,但我已经有点迷失了,不知道什么是做什么的。 到目前为止我的设置:Symfony 2.5、SonataUserBundle(以及 FOSUserB
我需要在 application.yml 中使用 yaml anchor 引用和字符串连接对于 Spring Boot 应用程序。动机是重用现有配置而不是复制它们。例如,我们有以下 applicati
我需要将单个 YML 文件拆分为多个 YML 文件: 微服务.yml: #------------------------------------------------------------- #
在我的 Symfony2 config.yml 文件中,我想导入一些我希望收集在单独的 yml 文件中的配置。 我用过: imports: - { resource: parameters.yml }
我是新的 docker 用户。在不同的手册中,我通常发现 docker-compose.yml 文件用于描述 docker 作业,但在 docker 站点上为此目标使用了 docker-stack.y
我不明白这两种在 Symfony2 中设置全局常量的方法之间的区别。是否只能在 config.yml (+configuration.php) 中设置默认值和类型? 最佳答案 参数.yml 文件是所有
在 config.yml 中,我看到了 monolog、web_profiler 等根元素。那些服务可以在 service.yml 中配置吗?换句话说,我在 service.yml 中定义的服务是否可
我阅读了这个文档:https://serverless.com/framework/docs/providers/google/guide/services/ users/ serverless.
我正在从事 CI/CD 项目(使用 circleci 管道),目前,我坚持让我的“create_infrastructure”工作正常工作。下面是作业 # AWS infrastructure
编辑:原始标题“文本环境:”平台“sqlite”不支持函数“year”” 将 beberlei\DoctrineExtensions 合并到测试环境中会产生 Uncaught PHP Exceptio
abc.yml: d_lab: 192.168.1.1 d_location: /ephemeral ema: apple: 10.0.0.1 orange: 10.0.0.2
我的 springboot 应用程序有一些 yml 文件(每个文件用于各种配置文件 - dev、prod)来加载配置。我正在将配置移至数据库。 示例配置如下: admin: id: user05
我有一个大型剧本,它使用多个角色来设置新服务器。我想重新使用剧本,但为了退役阶段而不是调用 role_name/tasks/main.yml 并有很多 when: 语句,我想要告诉 Ansible 调
使用 bookdown 创作文档时,我知道有四个选项可以放置配置选项: _bookdown.yml _output.yml 第一个 .Rmd 的 yaml header 文档 传递给 bookdown
我们希望将我们的 azure pipeline build .ymls 模块化。对于完整的应用程序构建,将包括不同组件的构建 .yml 到主 .yml 中,将它们全部构建在一起。对于单独的组件,我们将
假设我的网站上有一个简单的传统联系表单,我希望它在发送电子邮件时在开发环境中使用主题“Test: (subject_field value)”,在生产环境中使用“(subject_field_valu
我是一名优秀的程序员,十分优秀!