docker创建例子(go语言)

哆啦在这A梦在哪 · · 1203 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

1. 安装docker -----先有docker环境
2. mkdir myDocker -----新建个文件夹,方便操作

  1. cd myDocker ---进入

  2. Dockerfile写入---新建镜像构造文件,就叫Dockerfile,构造的时候语句会自动执行该名称的构造文件

将golang环境作为父镜像,得先pull一个golang,因为有go的环境才能执行go代码

FROM golang//以go为基础来布置

MAINTAINER Razil "zc6496359"  //这就是个名字而已

WORKDIR $GOPATH/src/godocker//go项目得在目录下才能执行就不用说了吧,这个workdir如果找不到该文件夹,就会自己新建一个,这里他自己新建一个

ADD . $GOPATH/src/godocker //这里是两部分,别搞错了,前面那个点,是把当前执行的目录下面的文件拷入后面那个路径,这里吧要执行的go或者其他的代码文件放进去

RUN go build main.go//这里就是要执行的语句,因为我这里的代码文件没有编译,需要这个语句是编译go语言生成可执行文件用的,如果前面你直接放一个已经编译好的,那就不要这句话了。

EXPOSE 8080//用哪个端口,你可以自己改其他的

ENTRYPOINT ["./main"]//这句话就是执行上面那生成的可执行文件

参数解释:

FROM -> 母镜像 

MAINTAINER -> 维护者信息 

WORKDIR -> 工作目录 

ADD -> 将文件复制到镜像中 

RUN -> 执行操作(就跟在终端执行语句一样) 

EXPOSE -> 暴露端口 

ENTRYPOINT -> 程序入口
  1. 编写main.go 文件 放在myDocker下

  2. 构建镜像

docker build -t zcdocker .

出现Successfully build …

说明构成成功。

  1. docker images 查看创建的镜像

  2. docker run -p 8080:8080 -d zcdocker

-p 本机端口:镜像端口

-d 后台运行

  1. 本机访问 localhost:8080/zc 返回Hello Docker Form Golang!则成功

main.go 内容如下

package main

import(

    "net/http"

    "fmt"

)

func main() {

    http.HandleFunc("/zc",hello)

    http.ListenAndServe(":8080",nil)

}

func hello(w http.ResponseWriter, r *http.Request) {

    fmt.Fprintf(w,"Hello Docker Form Golang!")

}

总结:

生成镜像,
1.新建Dockerfile文件
2.文件内写入,
3.执行的环境
4.需要加入那些你的项目文件
5.可能需要设置环境变量(Java好像)
7.端口号,名称等不怎么重要的东西


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:哆啦在这A梦在哪

查看原文:docker创建例子(go语言)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1203 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传