我有一个困难的时间停靠一个Web应用程序与以下结构:
├── Dockerfile
├── file1.txt
├── file2.txt
├── file3.txt
├── go.mod
└── src
├── go
│ ├── handlers
│ │ └── handlers.go
│ ├── main.go
│ └── parsetext
│ └── parsetext.go
└── resources
├── static
│ └── style.css
└── templates
├── index.html
└── result.html
我尝试过多种方法来塑造形象,但到目前为止没有一种方法成功。以下是其中的一些。
第一次
如果你能帮我的话
1条答案
按热度按时间7gcisfzg1#
我在您的
Dockerfile
中发现两个问题:COPY *.go ./
:它只复制当前目录中的
*.go
文件。我想你想像这样复制整个目录:COPY src/go ./src/go
RUN go build -o /app
:指定的建置产物
/app
与WORKDIR /app
建立的目录恩怨。我认为您应该指定要建置的套件。我认为正确的套件应该是:RUN go build -o theapp ./src/go
(将工件名称theapp
更改为您喜欢的任何名称)。这里有一个可能对你有用。推荐使用multi-stage build。