【Docker】Golang工程的Dockerfile:快速入门与最佳实践指南




问题背景

今天寸铁想让编写好的go程序在docker上面跑,要想实现这样的效果,就需要用到今天的主角:Docker File,那怎么使用DockerFile呢?

那具体怎么做呢?其实很简单,不过网上的博客的一些命令笔者实操过,发现不够完善!
小伙伴们要想实现,看笔者的正确食用指南即可,减少大量踩坑的时间。


编写Dockerfile

在你要运行到容器的程序所在的文件夹创建Dockerfile 之后复制如下内容到创建的文件中。

FROM golang:latest

# 设置工作目录
WORKDIR /app

# 复制 Go 程序源代码到工作目录
COPY dockerUper.go .

# 编译 Go 程序
RUN go build -o dockerUper dockerUper.go

# 运行 Go 程序
CMD ["sh", "-c", "./dockerUper"]

dockerUper 替换为具体你编写的文件名

文件夹的结构如下:

griffin docker 外部 hive dockerfile golang_容器


创建镜像

使用如下命令创建docker镜像

docker build -t my-golang-app .

这里创建的镜像名为my-golang-app 具体替换为你的命名

griffin docker 外部 hive dockerfile golang_容器_02


运行容器

使用如下命令运行Docker镜像的容器

docker run --name mycontainer-12  my-golang-app

容器名为mycontainer-12 ,镜像名为my-golang-app
具体可以根据你的实际情况进行修改。
注意:run之后 下次的容器名不能重复!!!

griffin docker 外部 hive dockerfile golang_golang_03

运行结果如下:

griffin docker 外部 hive dockerfile golang_golang_04

这样就运行容器成功啦!