第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

無法在 Docker Compose 中連接到 Mongo Atlas Cloud

無法在 Docker Compose 中連接到 Mongo Atlas Cloud

Go
素胚勾勒不出你 2022-04-26 19:47:46
我有一個(gè)執(zhí)行基本 CRUD 操作并使用 MongoDB 進(jìn)行數(shù)據(jù)持久性的 Go 應(yīng)用程序。我正在使用 Mongo Atlas 連接字符串將應(yīng)用程序連接到 MongoDB,當(dāng)我在本地開發(fā)機(jī)器上運(yùn)行應(yīng)用程序時(shí)一切正常。但是,當(dāng)我在 docker-compose 工作流程中將所有內(nèi)容推送到 docker 容器時(shí),我開始收到此錯(cuò)誤:server selection error: server selection timeout, current topology: { Type: ReplicaSetNoPrimary, Servers: [{ Addr: app-test-shard-00-00-zfzs6.mongodb.net:27017, Type: Unknown, State: Connected, Average RTT: 0, Last error: connection() : x509: certificate signed by unknown authority }, { Addr: app-test-shard-00-01-zfzs6.mongodb.net:27017, Type: Unknown, State: Connected, Average RTT: 0, Last error: connection() : x509: certificate signed by unknown authority }, { Addr: app-test-shard-00-02-zfzs6.mongodb.net:27017, Type: Unknown, State: Connected, Average RTT: 0, Last error: connection() : x509: certificate signed by unknown authority }, ] }這就是我的 docker-compose.yml 的樣子:services: redis:    image: redis    restart: alwaysapp:    image: docker.pkg.github.com/<user>/<project>/<image>:latest    ports:         - 80:8080    environment:         - APP_ENV=docker        - GIN_MODE=release    depends_on:         - redis    restart: on-failure這是我的連接字符串的外觀: mongodb://user:password@app-test-shard-00-00-zfzs6.mongodb.net:27017,app-test-shard-00-01-zfzs6.mongodb.net:27017,app-test-shard-00-02-zfzs6.mongodb.net:27017/test?ssl=true&replicaSet=app-test-shard-0&authSource=admin&retryWrites=true&w=majority我已經(jīng)檢查了這個(gè)問題和其他幾個(gè)問題,但似乎沒有一個(gè)可以解決這個(gè)問題。我還檢查了 docker 的網(wǎng)絡(luò)配置,我使用的是網(wǎng)橋驅(qū)動(dòng)程序,它應(yīng)該允許訪問外部應(yīng)用程序(即 Mongo Atlas)去版本:1.13Mongo 驅(qū)動(dòng)程序:mongodb/mongo-go-driver v1.2.0Dockerfile:FROM golang:alpine as builderWORKDIR /buildCOPY . .RUN apk add git openssh build-baseRUN git config --global url."git@github.com:".insteadOf "https://github.com/"COPY keys/id_rsa /root/.ssh/id_rsaRUN chmod 600 /root/.ssh/id_rsaRUN ssh-keyscan -t rsa github.com >> /root/.ssh/known_hostsENV GOPRIVATE=github.com/contributor-orgRUN go buildFROM alpineWORKDIR /orgCOPY --from=builder /build/app .COPY config/*.yml config/RUN mkdir -p /var/logCMD ["./app"]
查看完整描述

2 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

我通過添加&tlsInsecure=true到 MongoDB URI 快速解決了這個(gè)問題。仍在尋找正確的方法來解決它。


編輯:


也解決了它添加ca-certificates到 Docker 圖像:


# Builder step...


FROM alpine:3

RUN apk update \

    && apk upgrade \

    && apk add --no-cache \

    ca-certificates \

    && update-ca-certificates 2>/dev/null || true

COPY --from=builder /build/main ./

CMD ["/main"]

較小圖像的另一種選擇:


# Builder step...


FROM alpine:3 as certs

RUN apk --no-cache add ca-certificates


FROM scratch as app

COPY --from=builder /build/main ./

COPY --from=certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt

ENTRYPOINT ["/main"]


查看完整回答
反對 回復(fù) 2022-04-26
?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊

該問題似乎與證書驗(yàn)證有關(guān)。
您有兩個(gè)選擇:
- 將自簽名證書添加到 CA。
- 跳過驗(yàn)證。

如果要跳過自簽名證書驗(yàn)證,則必須將ClientOptions結(jié)構(gòu)設(shè)置修改trueClientOptions.SSLInsecure變量。


查看完整回答
反對 回復(fù) 2022-04-26
  • 2 回答
  • 0 關(guān)注
  • 188 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)