zoukankan      html  css  js  c++  java
  • web-debug-server

    web-debug-server

    项目来自:https://github.com/itzg/web-debug-server

    这位大哥的镜像做的很有意思:一个很小的web debug服务器,访问它可以显示请求的url和头信息

    Dockerfile文件:

    FROM scratch
    COPY web-debug-server /
    ENTRYPOINT ["/web-debug-server"]
    

    代码是go语言写的,然后经Makefile编译

    .PHONY: snapshot
    snapshot:
    	goreleaser --snapshot --rm-dist
    
    • rm-dist 该发布需要一个干净的目录,该标志确保 /dist 目录会被删除。
    • snapshot 默认情况下,发布设置为 release 。此标志将关闭此操作。
    • goreleaser是一个针对不同操作系统进行编译需要安装正确的依赖包的问题

    使用docker容器先来编译下

    此处参考了:https://studygolang.com/articles/22242?fr=sidebar

    参考了:https://goreleaser.com/

    $ docker run --rm --privileged  -v $(pwd):/go/src/web-debug-server -w /go/src/web-debug-server goreleaser/goreleaser:latest-cgo release --snapshot --rm-dist
    
    • -v $(pwd):/go/src/web-debug-server将本地目录再docker容器做了一个挂载
    • -w /go/src/web-debug-server指定了下工作目录

    可以看到编译过程中创建了不同操作系统的二进制文件

    ...
       • BUILDING BINARIES        
          • building                  binary=dist/web-debug-server_windows_amd64/web-debug-server.exe
          • building                  binary=dist/web-debug-server_linux_amd64/web-debug-server
          • building                  binary=dist/web-debug-server_linux_arm_6/web-debug-server
          • building                  binary=dist/web-debug-server_darwin_amd64/web-debug-server
    ... 
    
    web-debug-server]$ tree -C .
    .
    ├── dist
    │   ├── config.yaml
    │   ├── web-debug-server_linux_amd64
    │   │   └── web-debug-server
    │   ├── web-debug-server_linux_arm_6
    │   │   └── web-debug-server
    │   └── web-debug-server_windows_amd64
    │       └── web-debug-server.exe
    ├── Dockerfile
    ├── go.mod
    ├── go.sum
    ├── main.go
    ├── Makefile
    └── README.md
    
    4 directories, 10 files
    web-debug-server]$ file dist/web-debug-server_linux_amd64/web-debug-server 
    dist/web-debug-server_linux_amd64/web-debug-server: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped
    

    然后将该二进制文件放入Dockerfile(官方应该有构建不同平台镜像的教程)

    FROM scratch
    COPY dist/web-debug-server_linux_amd64/web-debug-server /
    ENTRYPOINT ["/web-debug-server"]
    

    docker run

    $ docker run -it --rm -p 8080:8080 web-debug-server
    

    效果:有点意思

  • 相关阅读:
    java源码--ArrayList
    java源码--AbstractList
    java中public protected friendly private作用域
    设置springmvc全局异常
    Java
    Java
    Java
    Java
    Java
    Java
  • 原文地址:https://www.cnblogs.com/uscWIFI/p/11910393.html
Copyright © 2011-2022 走看看