码头工人镜像怎么部署去项目

  介绍

小编这次要给大家分享的是码头工人镜像怎么部署去项目,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

依赖知识

    <李>去交叉编译基础李 <>李码头工人基础李 <>李Dockerfile自定义镜像基础李 <>李docker-compose编排文件编写基础李

当然,一点也不会也可以按照这个步骤部署完成,不过可能中间如果出点小问题,会不知道怎么解决,当然你也可以留言。

我是在mac环境上开发测试的,如果你是在windows上可能有一点出入,但应该不会有啥大问题。

    <李>码头工人李

我这里就写一个最简单的hello world程序吧,监听端口是80端口。
新建一个<代码>主要。文件,内容如下:

主要包
  导入(
  “fmt"
  “log"
  “;net/http"
  )
  http func sayHello (w。ResponseWriter r * http.Request) {
  fmt。流(w,“你好world")
  }
  函数main () {
  sayHello http.HandleFunc(“/?//注册URI路径与相应的处理函数
  log.Println(“【默认项目】服务启动成功监听端口80“)
  呃:=http.ListenAndServe (“0.0.0.0:80" nil)
  如果呃!=nil {
  log.Fatal (“ListenAndServe:“呃)
  }
  }

我是在mac上开发的,需要用到去的交叉编译,如果对交叉编译不熟悉的,可以查下文档,或者直接复制我下面的命令进行编译。
我们是要跑在<代码>码头工人> golang 这个镜像跑的,所以需要把他编译成兼容<代码> i386>

 sudo env美好=linux GOARCH=386去构建主要。去

这个编译完成后,本地会多出一个主要<代码> 程序,暂时不用管它备用就行。

新建一个文件夹,里面新建一个<代码> Dockerfile 文件,再在里面新建<代码>软件> 两个文件。把上一步的主要<代码> 程序放到<代码>软件> 脚本里面新建一个<代码>构建。sh 脚本文件,文件内容先不管,等下会说。
具体的文件结构是这样。

。   ├──Dockerfile   ├──应用   │└──主要   └──脚本   └──构建。sh

下面就是编写<代码> Dockerfile 文件内容了,内容我先上代码:

 

这里解释下:

<代码>与是集成自哪个镜像,我们是去程序官方提供了一个<代码> golang 这样的镜像,我们可以直接使用。

<代码>维护者是维护这名字。

<代码> WORKDIR>

<代码> 这副本是一个复制命令,把本地的所有文件复制到工作目录下。

<代码> 暴露这是对方开发的端口,我默认是开放80端口,这里可根据实际情况修改

<代码> CMD> 脚本/构建。sh>

这里我把内容粘贴出来:

# !/usr/bin/env bash   cd/去/src/app/,,主要。/

就这两行。

这属于<代码>码头工人>

码头工人建造- t web。
    <李>这个命令执行,如果本地没有<代码> golang 这个镜像的话,他会自己先去官方镜像库拉取这个镜像再编译,我们静静的等他就行 <李> <代码> web 这个参数是你最后编译后的镜像名字,可以随意修改,也可以加上版本号比如:<代码> web: v1

码头工人镜像怎么部署去项目

看到上面这个输出,就说明编译成功了,在你的本地镜像里面就有了一个名为<代码> web> 进码头工人图像行查询:

奥胪饭と司迪裨趺床渴鹑ハ钅?

到这里属于我们的最后一步了,如果用我们刚编译的<代码> web代码来运行我们的去程序:

版本:& # 39;2 & # 39;   网络:   基本:   服务:   世界:   container_name:世界   图片:web   港口:   ——“8099:80"   卷:   ——。/app//世界://src/app: rw光碟   网络:   ——基本

码头工人镜像怎么部署去项目