我尝试在 docker-compose 中编写 rabbitmq 和我的项目。
我用 send.go 和 receive.go 文件和一个文件做了一个简单的项目来测试它。当我使用命令“docker-compose up”时出现错误:
第 3/4 步:运行 go build -ldflags="-s -w" -o RabbitTest send.go receive.go ---> 在 970164ae43a4 中运行 send.go:6:2: 找不到 将“github.com/streadway/amqp”打包到以下任何一个中: /usr/local/go/src/github.com/streadway/amqp(来自 $GOROOT) /go/src/github.com/streadway/amqp(来自 $GOPATH)错误:服务 'test' 无法构建:命令 '/bin/sh -c go build -ldflags="-s -w" -o RabbitTest send.go receive.go' 返回非零代码:1
这是我的测试。Dockerfile:
FROM golang:1.14
WORKDIR /app
COPY . .
RUN go build -ldflags="-s -w" -o RabbitTest send.go receive.go
CMD ["go", "test", "./..."]
这是我的 docker-compose.yaml :
version: '3.7'
services:
rabbit:
image: bitnami/rabbitmq:latest
ports:
- "5672:5672"
- "15672:15672"
container_name: rabbitmq
hostname: rabbitmq
environment:
- RABBITMQ_USERNAME=user
- RABBITMQ_PASSWORD=password
- RABBITMQ_ERL_COOKIE=secretcookie
test:
build:
context: ./
dockerfile: test.Dockerfile
depends_on:
- "rabbit"
这是在 send.go 中导入的错误:
import (
"github.com/streadway/amqp"
"log"
)
当我在 ide 中运行我的项目时它可以工作,但是当开始构建时 - 一个错误。你能解释一下,出了什么问题,我怎样才能让这个包被看到?
在 Golang 中我们需要添加 go.mod 文件,并在 required 部分添加所需的依赖项。
n_skips