【发布时间】:2021-08-29 06:23:56
【问题描述】:
我目前正在尝试将 docker compose 引入我的项目。它包括一个使用 redis 内存数据库的 golang 后端。
version: "3.9"
services:
frontend:
...
backend:
build:
context: ./backend
ports:
- "8080:8080"
environment:
- NODE_ENV=production
env_file:
- ./backend/.env
redis:
image: "redis"
ports:
- "6379:6379"
FROM golang:1.16-alpine
RUN mkdir -p /usr/src/app
ENV PORT 8080
WORKDIR /usr/src/app
COPY go.mod /usr/src/app
COPY . /usr/src/app
RUN go build -o main .
EXPOSE 8080
CMD [ "./main" ]
构建运行成功,但是启动服务后,go后端立即退出并抛出以下错误:
尝试 ping redis 时出错:拨打 tcp 127.0.0.1:6379:连接:连接被拒绝
此处捕获错误:
_, err = client.Ping(ctx).Result()
if err != nil {
log.Fatalf("Error trying to ping redis: %v", err)
}
后端docker服务怎么连接不上redis?重要提示:当redis服务运行时,我使用go run *.go手动启动后端,没有错误,后端启动成功。
【问题讨论】: