当前位置: 首页 > 软件库 > 云计算 > Docker 扩展 >

Wharf

ContainerOps 平台
授权协议 MIT
开发语言 Google Go
所属分类 云计算、 Docker 扩展
软件类型 开源软件
地区 国产
投 递 者 封烈
操作系统 Linux
开源组织 Docker
适用人群 未知
 软件概览

Wharf 是一个关注 ContainerOps 的工具,它不是要取代传统的开发流程或者被广泛接受的 DevOps ,它是 DevOps 的升级方案。 Wharf 的目标是在在开发、持续集成和持续部署的广泛流程中使用 Container 技术构建一个工具链平台,支持 DockerRocket 等多种 Container 运行期方案。

Wharf 目前只是 pre-release 一个早期版本,可以把它建设在局域网内,代替 Docker Registry 管理 Docker Repository 。 目前只支持 Docker Registry V1 的协议,稍后会支持 V2 协议和 Rocket CAS 。 最终会集成另一个持续集成的项目 Vessel ,努力构建完整的 ContainerOps 平台。

为了解决 Docker Registry 的证书问题,项目中提供了 containerops.me 的证书,在部署的时候可以直接使用证书或者是把证书用在 Nginx 上。

如何编译 Wharf

把代码 Clone$GOPATH/src/githhub.com/dockercn 路径

go get -u github.com/astaxie/beego
go get -u github.com/codegangsta/cli
go get -u github.com/siddontang/ledisdb/ledis
go get -u github.com/garyburd/redigo/redis
go get -u github.com/shurcooL/go/github_flavored_markdown
go get -u github.com/satori/go.uuid
go get -u github.com/nfnt/resize
go build


Wharf 运行期设置

wharf/conf 目录放置运行期文件 bucket.conf

runmode = dev

enablehttptls = true
httpsport = 443
httpcertfile = cert/containerops.me/containerops.me.crt
httpkeyfile = cert/containerops.me/containerops.me.key

gravatar = data/gravatar

[docker]
BasePath = /tmp/registry
StaticPath = files
Endpoints = containerops.me
Version = 0.8.0
Config = prod
Standalone = true
OpenSignup = false

[ledisdb]
DataDir = /tmp/ledisdb
DB = 8

[log]
FilePath = /tmp
FileName = containerops.log

[session]
Provider = ledis
SavePath = /tmp/session


Nginx 配置


upstream wharf_upstream {
  server 127.0.0.1:9911;
}

server {
  listen 80;
  server_name containerops.me;
  rewrite  ^/(.*)$  https://containerops.me/$1  permanent;
}

server {
  listen 443;

  server_name containerops.me;

  access_log /var/log/nginx/containerops-me.log;
  error_log /var/log/nginx/containerops-me-errror.log;

  ssl on;
  ssl_certificate /etc/nginx/containerops.me.crt;
  ssl_certificate_key /etc/nginx/containerops.me.key;

  client_max_body_size 1024m;
  chunked_transfer_encoding on;

  proxy_redirect     off;
  proxy_set_header   X-Real-IP $remote_addr;
  proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header   X-Forwarded-Proto $scheme;
  proxy_set_header   Host $http_host;
  proxy_set_header   X-NginX-Proxy true;
  proxy_set_header   Connection "";
  proxy_http_version 1.1;

  location / {
    proxy_pass         http://wharf_upstream;
  }
}


如何运行 Wharf

运行在 Nginx 后面:

./wharf web --address 127.0.0.1 --port 9911

直接运行:

./wharf web --address 0.0.0.0 --port 80



如果在配置文件中设置了 enablehttptls  为  true ,那会自动运行在 443 端口。
./wharf web


问题报告

https://github.com/dockercn/wharf/issues

协议

MIT 协议

其它相关项目

  • Vessel 持续集成服务器
  • Rudder Golang Docker 客户端



 相关资料
  • 主要内容:$ionicPlatform$ionicPlatform $ionicPlatform 用来检测当前的平台,以及诸如在PhoneGap/Cordova中覆盖Android后退按钮。 方法 有硬件的后退按钮的平台,可以用这种方法绑定到它。 参数 类型 详情 callback 当该事件发生时,触发回调函数。 移除后退按钮的监听事件。 参数 类型 详情 callback 最初绑定的监视器函数。 注册硬件后退按钮动作。当点击按钮时,

  • 源码包准备 我们首先要在官网下载 OpenResty 的源码包。官网上会提供很多的版本,各个版本有什么不同也会有说明,我们可以按需选择下载。 笔者选择下载的源码包为 ngx_openresty-1.9.7.1.tar.gz。 相关依赖包的安装 首先你要安装 OpenResty 需要的多个库 请先配置好你的apt源,配置源的过程在这就不阐述了,然后执行以下命令安装OpenResty编译或运行时所需要

  • 从包管理安装 OpenResty 现在提供了 CentOS 上的 官方包。 你只需运行下面的命令: sudo yum-config-manager --add-repo https://openresty.org/yum/cn/centos/OpenResty.repo sudo yum install openresty 如果一切顺利,OpenResty 应该已经安装好了。 接下来,我们就可以进

  • 1、下载 Windows 版的 OpenResty 压缩包,这里我下载的是 openresty_for_windows_1.7.10.2001_64bit ,你也可以选择 32bit 的版本。如果你对源码感兴趣,下面是源码地址 https://github.com/LomoX-Offical/nginx-openresty-windows。 2、解压到要安装的目录,这里我选择D盘根目录,你可以根据

  • 多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。

  • $ionicPlatform $ionicPlatform 用来检测当前的平台,以及诸如在PhoneGap/Cordova中覆盖Android后退按钮。 方法 onHardwareBackButton(callback) 有硬件的后退按钮的平台,可以用这种方法绑定到它。 参数 类型 详情 callback function 当该事件发生时,触发回调函数。 offHardwareBackButt

  • 请按照下面的相应链接查找平台的安装说明。 Mac OS X安装说明 Windows安装说明 Linux / Unix的安装说明 Ubuntu Arch FreeBSD Raspberry Pi的设置 ARM Docker的使用说明 您也可以使用单行脚本安装Geth。打开一个命令行或终端工具(如果您不确定如何做到这一点,请考虑等待更友好的版本)并粘贴以下命令: bash <(curl -L http

  • 本文将介绍了如何设置 SDK 环境来部署 Cordova 应用到 Android 设备上,以及在你的开发流程中如何选择使用 Android 命令行工具。不管你是以平台为中心的工作流程还是跨平台(命令行界面)的工作流程都需要安装 Android SDK。 需求及支持 Cordova 开发 Android 需要 Android SDK,可以安装在 OS X, Linux 或 Windows 操作系统。