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

效果:有点意思

web-debug-server的更多相关文章

  1. web cache server方案比较:varnish、squid、nginx

    linux运维中,web cache server方案的部署是一个很重要的环节,选择也有很多种比如:varnish.squid.nginx.下面就对当下常用的这几个web cache server做一 ...

  2. Office Web Apps Server 概述

    Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...

  3. [转载]部署Office Web Apps Server并配置其与SharePoint 2013的集成

    Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...

  4. 部署Office Web Apps Server并配置其与SharePoint 2013的集成

    部署Office Web Apps Server并配置其与SharePoint 2013的集成   Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.P ...

  5. office web apps server 问题和解决办法

    New-OfficeWebAppsFarm –InternalURL "http://owa.zjkhlib.com" –AllowHttp –EditingEnabled 错误1 ...

  6. Office Web Apps Server

    Office Web Apps Server Office Web Apps Server 是一款 Office 服务器产品,可提供针对 Office 文件的基于浏览器的文件查看和编辑服务.Offic ...

  7. office web apps server安装部署

    操作系统:windows 2012 软件下载地址: 链接:https://pan.baidu.com/s/1c3WWFs8 密码:4dcy NDP452-KB2901954-Web.exe(.Net ...

  8. office web app server部署和简单操作

    部署环境:windows server 2012 R2,服务器在AD域中 参考网址: https://msdn.microsoft.com/zh-cn/magazine/jj219455(office ...

  9. Simple Web API Server in Golang (2)

    In this challenge, I tried to implement a simple OAuth2 server basing on Simple Web API Server in [1 ...

  10. Simple Web API Server in Golang (1)

    To be an better Gopher, get your hands dirty. Topcoder offered a serials of challenges for learning ...

随机推荐

  1. maven 镜像仓库 setting.xml修改 & 手动导入的包如何加到maven里面

    如果不知道maven安装路径IDEA中打File->Settings   再点Build->Maven右边看maven安装路径,打开这个路径,再打开conf/settings.xml文件 ...

  2. 78.3D立体轮播图(完整兼容手机端和pc端)

    效果呈现来源于http://www.jq22.com/demo/jR3DCarousel-master20160315/ 在此基础上改成需要的3个分类的3D图 由于原有的不支持粘贴复制显示3个分类 我 ...

  3. thinkphp路由配置route.php

    路由设置配置 打开route.php  引入Route控制器类(use think\Route;) 设置路由-->  Route::rule('路由表达式','路由地址','请求类型','路由参 ...

  4. Linux从入门到放弃、零基础入门Linux(第四篇):在虚拟机vmware中安装centos7.7

    如果是新手,建议安装带图形化界面的centos,这里以安装centos7.7的64位为例 一.下载系统镜像 镜像文件下载链接https://wiki.centos.org/Download 阿里云官网 ...

  5. k8s控制器资源(五)

    Pod pod在之前说过,pod是kubernetes集群中是最小的调度单元,pod中可以运行多个容器,而node又可以包含多个pod,关系如下图: 在对pod的用法进行说明之前,有必要先对docke ...

  6. canal中间件

    简介: 基于数据库增量(模拟MySQL slave的交互协议)日志解析,提供增量数据订阅和消费(客户端与canal建立关系) 安装版本:1.1.0 git 环境需求: jdk1.7以上 mysql开启 ...

  7. Ubuntu 开发环境搭建教程

    Ubuntu 开发环境搭建教程 本文原始地址:https://sitoi.cn/posts/18425.html 更新 sudo apt upgrade sudo apt update 生成本机密钥 ...

  8. Mybatis JdbcType与Oracle、MySql数据类型对

    Mybatis JdbcType Oracle MySql JdbcType ARRAY     JdbcType BIGINT   BIGINT JdbcType BINARY     JdbcTy ...

  9. python抓取网站提示错误ssl.SSLCertVerificationError处理

    python在抓取制定网站的错误提示:ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify ...

  10. jenkins pipeline之stash/unstash

    在使用jenkins时,经常会问到文件怎么存储? 正好jenkins有一个stash的功能,下面简单介绍下: 先看看官方是怎么解释的: stash: Stash some files to be us ...