我在Docker Hub上有一个应用程序映像,如何在裸机VPS上运行它?

时间:2019-12-18 02:21:58

标签: docker docker-compose

我有一个dockerized Go应用程序映像上传到Docker Hub。

我想在裸机VPS上的完整堆栈容器中运行此应用程序。我该怎么做?该应用程序使用MySQL和一个.env文件

  1. 我是在本地还是在VPS本身上构建容器?如果在本地,如何将其添加到VPS?

  2. 我是否将docker compose文件的副本上传到VPS并在VPS上安装docker之后在其中运行?

  3. 在docker compose文件中,我各种各样地看到人们使用build: .image: some_image。前者将指示该容器是根据本地源代码在本地构建的。后者表明映像是在我的开发机器上本地构建的,并由VPS从docker hub提取?正确吗?

  4. 某些多阶段Docker文件在第一个FROM语句中以alpine:latest之类的Linux映像开头,但大多数以go:alpinego:latest之类的FROM应用程序映像开头。有什么区别?我为什么要使用一种形式?

这是我的Dockerfile。 II还没有docker compose文件。

FROM golang:latest as builder

LABEL maintainer="Me <me@gmail.com>"

WORKDIR /app

COPY go.mod go.sum ./

RUN go mod download

COPY . .

RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .

FROM alpine:latest  

RUN apk --no-cache add ca-certificates

WORKDIR /srv/

COPY --from=builder /app/main .

EXPOSE 8002

CMD ["./main"] 

0 个答案:

没有答案