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

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

PGHOST for GitLab pipeline with docker:

PGHOST for GitLab pipeline with docker:

Go
森欄 2022-11-23 13:54:23
我有一個(gè) docker-compose 文件,它初始化 postgres 和 postgres 遷移服務(wù)。我想在 gitlab 管道中針對(duì)我的 docker-compose baked postgres 服務(wù)運(yùn)行測(cè)試,但我無法通過本地主機(jī)連接到 pg_db。在我的代碼中,我使用 pgx 包。在我的本地機(jī)器上,使用 localhost 作為 PGHOST 環(huán)境變量沒有問題。所以我的主要問題是我的測(cè)試將哪個(gè)主機(jī)放入 PGHOST 變量以用于 gitlab 管道內(nèi)的 postgres 連接。docker-compose.ymlversion: "3.3"services:    pg_db:      container_name: pg_db      image: postgres:13.2-alpine      environment:        - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}        - POSTGRES_USER=${POSTGRES_USER}        - POSTGRES_DB=${POSTGRES_DB}        - POSTGRES_SSLMODE=${POSTGRES_SSLMODE}        - POSTGRES_HOST_AUTH_METHOD=${POSTGRES_HOST_AUTH_METHOD}      ports:        - ${POSTGRES_PORT}:5432      restart: always      deploy:        resources:          limits:            cpus: '1'            memory: 4G      networks:        - postgres        - backend    #init db    store-init:      image: x:latest      container_name: store-init      environment:        - PGHOST=pg_db        - PGUSER=${POSTGRES_USER}        - PGPASSWORD=${POSTGRES_PASSWORD}        - PGDATABASE=${POSTGRES_DB}        - PGPORT=${POSTGRES_PORT}      restart: on-failure      depends_on:        - pg_db      networks:        - postgres        - backendnetworks:  backend:  postgres:    driver: bridge
查看完整描述

1 回答

?
慕哥6287543

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

在本地機(jī)器上運(yùn)行容器和在 GitLab 中運(yùn)行它們之間的重要區(qū)別之一docker:dind是容器在“本地主機(jī)”上不可用——它們?cè)赿ocker:dind容器上可用。


如果你想與這個(gè)容器交談,在你的場(chǎng)景中,postgres 容器將可用docker:5432(是你的 postgres 容器具有其端口映射docker的容器的主機(jī)名)。docker:dind


用簡(jiǎn)單的 HTTP 服務(wù)容器說明

作為一個(gè)簡(jiǎn)化的示例,如果您要strm/helloworld-http使用端口映射在本地運(yùn)行容器,則以下工作:


docker run -d --rm -p 80:80 strm/helloworld-http

# give it some time to startup

curl http://localhost  # this works

但是,GitLab 中的相同設(shè)置不會(huì):


myjob:

  variables:  # these variables are not necessarily required

    DOCKER_TLS_CERTDIR: ""

    DOCKER_HOST: "tcp://docker:2375"

  services:

    - docker:dind

  script:

    - docker run -d --rm -p 80:80 strm/helloworld-http

    - sleep 10

    - curl http://localhost  # Fails!

一種解決方法是改用docker主機(jī)名:


script:

    - docker run -d --rm -p 80:80 strm/helloworld-http

    - sleep 10

    - curl http://docker  # works!


查看完整回答
反對(duì) 回復(fù) 2022-11-23
  • 1 回答
  • 0 關(guān)注
  • 171 瀏覽

添加回答

舉報(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)