我希望能夠在無法連接到 rabbitmq 時重新啟動 golang docker 文件,不幸的是,我的 golang 容器將退出但永遠(yuǎn)不會重新啟動,我不知道為什么。碼頭工人組成:version: '3.3'services:? mongo:? ? image: 'mongo:3.4.1'? ? container_name: 'datastore'? ? ports:? ? ? - '27017:27017'? rabbitmq:? ? restart: always? ? tty: true? ? image: rabbitmq:3.7-management-alpine? ? hostname: "rabbit"? ? ports:? ? ? - "15672:15672"?? ? ? - "5672:5672"? ? labels:? ? ? NAME: "rabbitmq"? ? volumes:? ? ? - ./rabbitmq-isolated.conf:/etc/rabbitmq/rabbitmq.config? ? healthcheck:? ? ? test: ["CMD", "curl", "-f", "http://localhost:15672"]? ? ? interval: 3s? ? ? timeout: 5s? ? ? retries: 20? api:? ? restart: always? ? tty: true? ? container_name: 'api'? ? build: '.'? ? working_dir: /go/src/github.com/patientplatypus/project? ? ports:? ? ? - '8000:8000'? ? volumes:? ? ? - './:/go/src/github.com/patientplatypus/project'? ? ? - './uploads:/uploads'? ? ? - './scripts:/scripts'? ? ? - './templates:/templates'? ? depends_on:? ? ? - "mongo"? ? ? - "rabbitmq"碼頭文件:FROM golang:latestWORKDIR /go/src/github.com/patientplatypus/projectCOPY . .RUN go get github.com/imroc/req<...more go gets...>RUN go get github.com/joho/godotenvEXPOSE 8000ENTRYPOINT? [ "fresh" ]這是我的 golang 代碼:package mainimport (? ? "fmt"? ? "log"? ? "os"? ? "os/exec"? ? "net/http")func main() {? ? fmt.Println("Golang server started")? ? godotenv.Load()? ? fmt.Println("now doing healthcheck on rabbit")? ? exec.Command("docker-compose restart api")? ? os.Exit(1)? <...>
Golang Docker 容器未在 Docker-Compose 中重新啟動
慕田峪9158850
2023-06-05 19:47:02