发布时间:2024-12-23 04:23:54
```shell docker version go version ```
如果你看到了它们的版本号,那就代表你已经正确配置好了开发环境。```dockerfile # 基于Golang镜像构建 FROM golang:1.16 # 设置工作目录 WORKDIR /app # 将当前目录复制到容器中的/app目录 COPY . . # 构建应用 RUN go build -o main . # 启动应用 CMD ["./main"] ```
```shell docker build -t my-golang-app . ```
这个命令会根据Dockerfile文件中的配置,将我们的应用程序与依赖打包到一个容器中。同时,我们可以通过为镜像设置标签(-t参数)来方便后续的使用。```shell docker run -d -p 8080:8080 my-golang-app ```
这个命令会在后台运行我们的Docker容器,并将主机的8080端口映射到容器内的8080端口。现在,你可以通过访问http://localhost:8080 来查看你的应用是否成功运行。```dockerfile # 构建阶段 FROM golang:1.16 AS build WORKDIR /app COPY . . RUN go build -o main . # 最终阶段 FROM scratch COPY --from=build /app/main /app/ WORKDIR /app CMD ["./main"] ```
通过这种方式,我们首先在一个阶段中构建我们的应用程序,然后将编译好的二进制文件复制到最终阶段的scratch镜像中。这样可以减少镜像的体积,并提高构建速度。