這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Docker Swarm manage命令的filter選項用來指定scheduler選擇Docker Engine的過濾項,其變數定義如下(cli/flags.go):// hack for go vetflFilterValue = cli.StringSlice(filter.List())// DefaultFilterNumber is exportedDefaultFilterNumber =
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。建立和更新container時需要涉及到container的config(cluster\config.go):// ContainerConfig is exported// TODO store affinities and constraints in their own fieldstype ContainerConfig struct { container.Config HostConfig
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Engine.Connect()方法用來完成對Docker engine的串連工作:// Connect will initialize a connection to the Docker daemon running on the// host, gather machine specs (memory, cpu, ...) and monitor state changes.func (e *Engine) Connect(
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Cluster.validatePendingEngine是實際上用來串連Docker engine的代碼:// validatePendingEngine connects to the engine,func (c *Cluster) validatePendingEngine(engine *cluster.Engine) bool { // Attempt a connection to the engine.
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在上一篇提到的API Server需要設定HTTP處理函數:......server.SetHandler(api.NewPrimary(cl, tlsConfig, &statusHandler{cl, nil, nil}, c.GlobalBool("debug"), c.Bool("cors")))......api.Server結構體定義如下:// Server is a
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Docker的discovery package提供了實現新的backend定義的interface(discovey.go):package discoveryimport ( "errors" "time")var ( // ErrNotSupported is returned when a discovery service is not supported.
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Docker Swarm的scheduler會選擇符合要求的node來建立container:candidates, err := s.selectNodesForContainer(nodes, config, true)node定義在scheduler/node/node.go:// Node is an abstract type used by the scheduler.type Node struct { ID
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Docker Swarm manage命令的scheduler是通過filter和strategy構建的(cli/manage.go):sched := scheduler.New(s, fs)而scheduler實際的功能就是選擇符合cluster.ContainerConfig要求的node(Docker Engine)列表:// SelectNodesForContainer will return a list of
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Version包只包含了一個version.go:package versionimport "fmt"// Version represents the current version of Delve.type Version struct { Major string Minor string Patch string Metadata string
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。delve的項目首頁:https://github.com/derekparker/delve。main.go的代碼比較簡單:package mainimport ( "github.com/derekparker/delve/cmd/dlv/cmds" "github.com/derekparker/delve/version")// Build is the git sha of