错误拨号 tcp 127.0.0.1:6379:连接:在没有 Docker Compose

我尝试使用以下 Dockerfile 运行 Redis 容器。


FROM golang:alpine as builder


LABEL maintainer="..."


RUN apk update && apk add --no-cache git


WORKDIR /app


COPY go.mod go.sum ./


RUN go mod download


COPY . .


RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .


FROM alpine:latest

RUN apk --no-cache add ca-certificates


WORKDIR /root/


COPY --from=builder /app/main .


EXPOSE 6379


CMD ["./main"]

然后,我跑了


docker build -t redis .

docker run -dp 6379:6379 redis

之后,这边的代码出现错误:


    s.Client = redis.NewClient(&redis.Options{

        Addr:     "localhost:6379",

        Password: "",

        DB:       0,

    })


    if err := s.Client.Ping().Err(); err != nil {

        log.Fatalf("Failed to create a Redis client: %s", err)

    }

我已经在 Stackoverflow 中阅读了一些类似的问题并尝试将地址更改为redis:6379,但它没有用。有人可以帮我解释一下为什么会出现此连接被拒绝的错误吗?


慕容3067478
浏览 129回答 1
1回答

一只甜甜圈

您的图像基于高山,而不是基于 redis 图像。而且我看不到你在 Dockerfile 中的什么地方安装了 redis。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go