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

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

如何使用 docker 撰寫(xiě)將主機(jī)名從一個(gè)容器獲取到另一個(gè)容器?

如何使用 docker 撰寫(xiě)將主機(jī)名從一個(gè)容器獲取到另一個(gè)容器?

Go
嗶嗶one 2022-09-19 21:26:03
我有兩個(gè)泊塢窗容器。一個(gè)后端,另一個(gè)數(shù)據(jù)庫(kù)(后綴)。它們都是相互聯(lián)系的。如何利用 golang 泊客容器中的后端環(huán)境 HOST 變量?根據(jù)我的理解,這兩個(gè)容器都有自己的IP地址。我不能在 golang 容器中使用“本地主機(jī)”,因?yàn)?postgres 不在本地主機(jī)上,而是在隔離的容器中。version: "3.7"services:backend:  image: golang:1.16  build: ./  working_dir: /app  volumes:    - ./backend/:/app  environment:     HOST: db  command: go run main.go  ports:    - 8080:8080  depends_on:     - dbdb:  image: postgres  restart: always  environment:     POSTGRES_USER: gorm    POSTGRES_PASSWORD: gorm    POSTGRES_DB: gorm  ports:    - 9920:9920我嘗試過(guò)研究如何訪問(wèn)此變量以及檢查Docker教程/文檔,但尚未找到解決方案。
查看完整描述

2 回答

?
慕的地10843

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

Docker compose 執(zhí)行 DNS 解析。您應(yīng)該能夠按名稱(chēng)訪問(wèn)數(shù)據(jù)庫(kù)。


刪除:


environment: 

  HOST: db

將后滯端口更正為 5432:


db:

  ...

  ports:

    - 5432:5432

您必須能夠像這樣連接:


db := pg.Connect(&pg.Options{

    Addr:     "db:5432",

    User:     "gorm",

    Database: "gorm",

    Password: "gorm",

})

至于環(huán)境變量,您可以像這樣聲明和訪問(wèn)它們:


backend:

  environment:

    POSTGRES_USER: gorm

    ...

os.Getenv("POSTGRES_USER")


查看完整回答
反對(duì) 回復(fù) 2022-09-19
?
MMMHUHU

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

Docker 撰寫(xiě)將為您的容器創(chuàng)建一個(gè)網(wǎng)絡(luò),它們可以在其中相互通信和訪問(wèn)。


您可以通過(guò)向服務(wù)添加一個(gè)名稱(chēng)來(lái)對(duì) Docker 撰寫(xiě)文件進(jìn)行簡(jiǎn)單的更改,這將確保它們每次都獲得相同的名稱(chēng)。


version: "3.7"


services:


  backend:

    image: golang:1.16

    build: ./

    container_name: backend

    working_dir: /app

    volumes:

      - ./backend/:/app

    command: go run main.go

    ports:

      - "8080:8080"

    depends_on: 

      - db


  db:

    image: postgres

    restart: always

    container_name: db

    environment: 

      POSTGRES_USER: gorm

      POSTGRES_PASSWORD: gorm

      POSTGRES_DB: gorm

    ports:

      - "9920:5432"

Postgres的默認(rèn)端口是5432,所以我將其映射到您的9920。然后,您可以通過(guò)指定以下內(nèi)容從后端容器訪問(wèn)數(shù)據(jù)庫(kù)容器:


db:9920


查看完整回答
反對(duì) 回復(fù) 2022-09-19
  • 2 回答
  • 0 關(guān)注
  • 115 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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