商城首页欢迎来到中国正版软件门户

您的位置:首页 >如何利用Docker在Ubuntu上打包Golang应用

如何利用Docker在Ubuntu上打包Golang应用

  发布于2026-07-31 阅读(0)

扫一扫,手机访问

在Ubuntu上,用Docker来打包Golang应用,这事儿其实比想象中要简单得多。如果你已经有一个Golang项目,或者正打算从头开始,那下面这套流程基本就是标准答案了。

如何利用Docker在Ubuntu上打包Golang应用

1. 安装Docker

首先,确保Ubuntu系统里已经装好了Docker。如果还没装,打开终端,敲两行命令就行:

sudo apt update
sudo apt install docker.io

装完之后,可以顺手跑一下docker --version确认安装成功。

2. 创建Golang应用

假设你手上已经有一个简单的Golang程序,比如Hello World那种。要是没有,花30秒写一个:

// main.go
package main

import "fmt"

func main() {
    fmt.Println("Hello, Docker!")
}

这个文件就放在项目根目录下。

3. 创建Dockerfile

在项目目录里新建一个文件,命名为Dockerfile(注意大小写,没有扩展名)。内容如下:

# 使用官方的Golang镜像作为基础镜像
FROM golang:1.17

# 设置工作目录
WORKDIR /app

# 将当前目录下的所有文件复制到工作目录中
COPY . .

# 构建Golang应用
RUN go build -o main .

# 暴露端口(如果需要)
EXPOSE 8080

# 运行应用
CMD ["./main"]

这里选的是Golang 1.17的官方镜像,如果你项目需要其他版本,替换一下版本号就行。另外,如果你的应用不需要监听端口,EXPOSE那行可以删掉——不过留着也没坏处。

4. 构建Docker镜像

在包含Dockerfile的目录下,执行:

docker build -t my-golang-app .

其中my-golang-app是镜像的名字,你可以换成任何你喜欢的名字。构建过程会下载基础镜像、编译Go代码,最后生成一个独立的镜像。

5. 运行Docker容器

镜像构建完成后,用下面这条命令启动容器:

docker run -p 8080:8080 my-golang-app

-p 8080:8080的意思是把容器内部的8080端口映射到宿主机的8080端口。如果你的应用监听的是其他端口,记得换成对应的数字。

6. 验证应用

打开浏览器,访问http://localhost:8080,如果一切正常,你会看到控制台输出的“Hello, Docker!”(或者你的应用定义的其他内容)。当然,如果应用是一个HTTP服务,浏览器里会直接显示返回内容;如果只是一个命令行程序,输出会出现在终端里。

总结

到这里,你已经成功用Docker在Ubuntu上打包并运行了一个Golang应用。整个过程其实就几步:安装Docker → 写代码 → 写Dockerfile → 构建镜像 → 运行容器。后续如果需要扩展,比如多阶段构建、优化镜像体积、对接数据库等,都是在这个框架上做加法。核心思路是一样的:把应用和它的依赖一起打包,走到哪都能跑。

本文转载于:https://www.yisu.com/ask/33267907.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注