写点什么

用 golang 官方 Docker 镜像运行项目

作者:程序员欣宸
  • 2022 年 8 月 23 日
    广东
  • 本文字数:740 字

    阅读完需:约 2 分钟

用golang官方Docker镜像运行项目

欢迎访问我的 GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

两个命令运行 hellowrold.go

  • 假设文件夹 service 和 hello 都在目录 /Users/will/temp/201902/24 下;

  • 命令行进入目录 /Users/will/temp/201902/24 ,执行以下命令,即可创建一个 Dockerfile 文件,用于稍后的镜像制作:


rm -f ./Dockerfile \&& tee ./Dockerfile <<-'EOF'FROM golang:1.11.5WORKDIR /go/srcCOPY . .RUN go get -d -v ./...RUN go install -v ./...EOF
复制代码


  • 从 Dockerfile 内容可见,该镜像做的事很简单:先将当前目录下的 go 源文件夹复制到镜像内,再执行 go install 命令编译构建,生成可执行文件;

  • 执行以下命令,先构建镜像再创建一次性容器,该容器启动后立即运行镜像中构件好的可执行文件:


docker build -t my-golang-app . \&& docker run -it --rm --name my-running-app my-golang-app hello
复制代码


  • 输出如下:


$ docker build -t my-golang-app . \> && docker run -it --rm --name my-running-app my-golang-app helloSending build context to Docker daemon   5.12kBStep 1/5 : FROM golang:1.11.5 ---> 901414995ecdStep 2/5 : WORKDIR /go/src ---> Using cache ---> 2aa585932b40Step 3/5 : COPY . . ---> Using cache ---> cfc695390f08Step 4/5 : RUN go get -d -v ./... ---> Using cache ---> 4c71f0716bacStep 5/5 : RUN go install -v ./... ---> Using cache ---> 5d950c32c83fSuccessfully built 5d950c32c83fSuccessfully tagged my-golang-app:latestabc
复制代码


  • 可见 go 程序已经正常运行;

  • 以上就是在 Docker 运行 golang 程序的快捷方式,如果不想配置 go 环境,可以用此方式快速运行程序;

欢迎关注 InfoQ:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...


发布于: 刚刚阅读数: 4
用户头像

搜索"程序员欣宸",一起畅游Java宇宙 2018.04.19 加入

前腾讯、前阿里员工,从事Java后台工作,对Docker和Kubernetes充满热爱,所有文章均为作者原创,个人Github:https://github.com/zq2599/blog_demos

评论

发布
暂无评论
用golang官方Docker镜像运行项目_golang_程序员欣宸_InfoQ写作社区