Beego-使用docker-compose实施中的端口号,而不是使用app.conf中的端口号

I am trying to run the beego application using docker with the help of docker-compose. I am able access the demo application in http://localhost:8081 URL after running docker-compose up.

docker-compose.yml

version: "2"

services:
  app:
    build: .
    volumes:
      - .:/go/src/hello
    ports:
      - "8080:8080"
    working_dir: /go/src/hello
    command: bee run

Dockerfile

FROM golang:1.10

## Install beego and the bee dev tool
RUN go get github.com/astaxie/beego && go get github.com/beego/bee

app.conf from beego framework

appname = hello
httpport = 8081
runmode = dev

How can I overwrite the httpport(8081) in app.conf using ports(8080) number used in app from docker-compose.yml. After running docker-compose up application runs in port 8081 not in 8080. How can I solve this?

drsdvwsvo78320812
drsdvwsvo78320812 要从env变量中读取端口,您可能应该使用beego.AppConfig.Set(key,valstring)方法,检查是否设置了正确的env变量,并从os.Getenv中获取它。但是为什么要在Docker内部的其他端口上运行它呢?如果您只是想在外部的其他端口上访问它(由于已使用的端口),则应在docker-composefileports部分中将其更改为“8081:8080”,然后可以在8081端口上访问您的应用
2 年多之前 回复
dongshixingga7900
dongshixingga7900 我在编辑app.conf文件时没有任何问题。在PHP框架(Laravel)中,可以使用docker-compose环境变量覆盖ENV文件中的端口。所以只有我要求类似的设置是否可以在beego中进行?
2 年多之前 回复
dpmopn8542
dpmopn8542 我不懂是什么阻止您仅编辑app.conf?
2 年多之前 回复

1个回答



您无需将 app.conf </ code>更新为 8080 </ code>使用 ports </ code>使Docker容器在 8081 </ code>上侦听并响应 8080 </ code>。</ p>

更改-“ 8080:8080” </ code>到-“ 8080:8081” </ code> </ p>

第一个端口是Docker容器将响应的端口,第二个端口 是容器中应用程序的端口。</ p>
</ div>

展开原文

原文

You shouldn't need to update the app.conf to 8080 use the ports to have the docker container listen on 8081 and respond to 8080.

Change - "8080:8080" to - "8080:8081"

First port is what the docker container will respond to and the second port is the port of the application within the container.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问