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

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

在 Dockerfile 和 docker-compose.yml 中編寫(xiě)什么代碼以在 docker

在 Dockerfile 和 docker-compose.yml 中編寫(xiě)什么代碼以在 docker

Go
茅侃侃 2023-07-17 14:36:31
我介紹local package了go modules服務(wù)器端 api。在本地環(huán)境下運(yùn)行正常,通過(guò)命令不會(huì)報(bào)錯(cuò)go run main.go。但在指揮的時(shí)候卻不起作用docker-compose up。我想知道要編寫(xiě) Dockerfile 和 docker-compose.yml 來(lái)修復(fù)哪些問(wèn)題。go mod init我在目錄下命令article。結(jié)果,它設(shè)置module github.com/jpskgc/article在go.mod.article  ├ db  ├ client  ├ api  │  ├ main.go  │  ├ controller  │  │    └ controller.go  │  └ Dockerfile  ├ nginx  ├ docker-compose.yml  ├ go.mod  └ go.sum主程序package mainimport (    "database/sql"    "os"    "time"    "github.com/gin-gonic/gin"    "github.com/jpskgc/article/api/controller")    api := router.Group("/api")    {        api.GET("/articles", func(c *gin.Context) {            controller.GetArticleController(c, db)        })    }    router.Run(":2345")}DockerfileFROM golang:latestENV GO111MODULE=onWORKDIR /go/src/github.com/jpskgc/article/appCOPY . .RUN go mod downloadRUN go buildRUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go buildENTRYPOINT ["/go/src/github.com/jpskgc/article/app/api"]docker-compose.ymlversion: '3'services:  api:    build:      dockerfile: Dockerfile.dev      context: ./api    volumes:      - ./api:/go/src/github.com/jpskgc/article/app    depends_on:      - db    tty: true    environment:      - AWS_ACCESS_KEY_ID      - AWS_SECRET_ACCESS_KEY      - MYSQL_USER      - MYSQL_PASSWORD      - MYSQL_HOST      - GO111MODULEgo.modmodule github.com/jpskgc/articlego 1.12require (    github.com/aws/aws-sdk-go v1.23.7    github.com/gin-contrib/cors v1.3.0    github.com/gin-gonic/gin v1.4.0    github.com/go-sql-driver/mysql v1.4.1    github.com/google/uuid v1.1.1    github.com/joho/godotenv v1.3.0)我希望服務(wù)器端 api 在 docker 環(huán)境中正常工作,不會(huì)出現(xiàn)錯(cuò)誤。但實(shí)際情況是服務(wù)端的docker環(huán)境無(wú)法運(yùn)行。這是命令 docker-compose up 時(shí)的錯(cuò)誤消息build command-line-arguments: cannot load github.com/jpskgc/article/api/controller: cannot find module providing package github.com/jpskgc/article/api/controllerarticle_api_1 exited with code 1這是 github 上的完整源代碼(分支:try-golang-mod)。我希望有人給我Dockerfile和的答案代碼docker-compose.yml。 https://github.com/jpskgc/article/tree/try-golang-mod
查看完整描述

2 回答

?
動(dòng)漫人物

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

您的 docker 上下文是 ./api,但 go.mod 位于父目錄中,因此 go.mod 不包含在您的映像中。

一種選擇是將 docker 上下文更改為源樹(shù)的根目錄(api 的父目錄),然后將文件/目錄從那里復(fù)制到映像中。


查看完整回答
反對(duì) 回復(fù) 2023-07-17
?
交互式愛(ài)情

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

我通過(guò)以下方式解決這個(gè)問(wèn)題。


go mod init article/api在api目錄。

article

  ├ client

  ├ api

  │  ├ main.go

  │  ├ contoroller

  │  │    └ contoroller.go

  │  ├ //

  │  ├ go.mod 

  │  ├ go.sum

  │  └ Dockerfile

  ├ nginx

  ├ go.mod

  ├ go.sum

  └ docker-compose.yml

使固定Docekrfile

FROM golang:latest

ENV GO111MODULE=on

WORKDIR /app

COPY go.mod .

COPY go.sum .

RUN go mod download

COPY . .

RUN go build

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

ENTRYPOINT ["/app/api"]

命令docker-compose down然后docker-compose up --build


查看完整回答
反對(duì) 回復(fù) 2023-07-17
  • 2 回答
  • 0 關(guān)注
  • 174 瀏覽
慕課專(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)