當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Env.SetJson方法代碼示例

本文整理匯總了Golang中github.com/docker/docker/engine.Env.SetJson方法的典型用法代碼示例。如果您正苦於以下問題:Golang Env.SetJson方法的具體用法?Golang Env.SetJson怎麽用?Golang Env.SetJson使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/docker/docker/engine.Env的用法示例。


在下文中一共展示了Env.SetJson方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: GetRegistryConfig

// GetRegistryConfig returns current registry configuration.
func (s *Service) GetRegistryConfig(job *engine.Job) engine.Status {
	out := engine.Env{}
	err := out.SetJson("config", s.Config)
	if err != nil {
		return job.Error(err)
	}
	out.WriteTo(job.Stdout)

	return engine.StatusOK
}
開發者ID:Crispy1975,項目名稱:deis,代碼行數:11,代碼來源:service.go

示例2: GetRegistryConfig

// GetRegistryConfig returns current registry configuration.
func (s *Service) GetRegistryConfig(job *engine.Job) error {
	out := engine.Env{}
	err := out.SetJson("config", s.Config)
	if err != nil {
		return err
	}
	out.WriteTo(job.Stdout)

	return nil
}
開發者ID:nicholaskh,項目名稱:docker,代碼行數:11,代碼來源:service.go

示例3: ResolveIndex

// ResolveIndex takes indexName and returns index info
func (s *Service) ResolveIndex(job *engine.Job) engine.Status {
	var (
		indexName = job.Args[0]
	)

	index, err := s.Config.NewIndexInfo(indexName)
	if err != nil {
		return job.Error(err)
	}

	out := engine.Env{}
	err = out.SetJson("index", index)
	if err != nil {
		return job.Error(err)
	}
	out.WriteTo(job.Stdout)

	return engine.StatusOK
}
開發者ID:Crispy1975,項目名稱:deis,代碼行數:20,代碼來源:service.go

示例4: ResolveRepository

// ResolveRepository splits a repository name into its components
// and configuration of the associated registry.
func (s *Service) ResolveRepository(job *engine.Job) engine.Status {
	var (
		reposName = job.Args[0]
	)

	repoInfo, err := s.Config.NewRepositoryInfo(reposName)
	if err != nil {
		return job.Error(err)
	}

	out := engine.Env{}
	err = out.SetJson("repository", repoInfo)
	if err != nil {
		return job.Error(err)
	}
	out.WriteTo(job.Stdout)

	return engine.StatusOK
}
開發者ID:Crispy1975,項目名稱:deis,代碼行數:21,代碼來源:service.go

示例5: TestPostContainersCgroup

func TestPostContainersCgroup(t *testing.T) {
	eng := NewTestEngine(t)
	defer mkDaemonFromEngine(eng, t).Nuke()

	memory := int64(4194304)
	containerID := createTestContainer(eng,
		&runconfig.Config{
			Memory:    memory,
			Image:     unitTestImageID,
			Cmd:       []string{"/bin/cat"},
			OpenStdin: true,
		},
		t,
	)

	defer func() {
		// Make sure the process dies before destroying runtime
		containerKill(eng, containerID, t)
		containerWait(eng, containerID, t)
	}()

	startContainer(eng, containerID, t)

	// Give some time to the process to start
	containerWaitTimeout(eng, containerID, t)

	if !containerRunning(eng, containerID, t) {
		t.Errorf("Container should be running")
	}

	var (
		cgroupData     engine.Env
		readSubsystem  []string
		writeSubsystem []struct {
			Key   string
			Value string
		}
	)
	readSubsystem = append(readSubsystem, "memory.limit_in_bytes")
	writeSubsystem = append(writeSubsystem, struct {
		Key   string
		Value string
	}{Key: "cpu.shares", Value: "2048"})
	cgroupData.SetList("ReadSubsystem", readSubsystem)
	cgroupData.SetJson("WriteSubsystem", writeSubsystem)

	jsonData := bytes.NewBuffer(nil)
	if err := cgroupData.Encode(jsonData); err != nil {
		t.Fatal(err)
	}

	r := httptest.NewRecorder()
	req, err := http.NewRequest("POST", "/containers/"+containerID+"/cgroup?w=1", jsonData)
	req.Header.Add("Content-Type", "application/json")
	if err != nil {
		t.Fatal(err)
	}
	if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
		t.Fatal(err)
	}
	assertHttpNotError(r, t)

	if r.Code != http.StatusOK {
		t.Fatalf("%d OK expected, received %d\n", http.StatusOK, r.Code)
	}
	var cgroupResponses []struct {
		Subsystem string
		Out       string
		Err       string
		Status    int
	}

	if err := json.Unmarshal(r.Body.Bytes(), &cgroupResponses); err != nil {
		t.Fatal(err)
	}

	for _, cgroupResponse := range cgroupResponses {
		if cgroupResponse.Status != 0 {
			t.Fatalf("The status of cgroup response is not zero, subsystem: %s, out: %s, err: %s, status: %s",
				cgroupResponse.Subsystem, cgroupResponse.Out, cgroupResponse.Err, cgroupResponse.Status)
		}
	}
}
開發者ID:bigclouds,項目名稱:docker-1.3.2,代碼行數:83,代碼來源:api_test.go

示例6: TestPostContainersSet

func TestPostContainersSet(t *testing.T) {
	eng := NewTestEngine(t)
	defer mkDaemonFromEngine(eng, t).Nuke()

	memory := int64(4194304)
	containerID := createTestContainer(eng,
		&runconfig.Config{
			Memory:    memory,
			Image:     unitTestImageID,
			Cmd:       []string{"/bin/cat"},
			OpenStdin: true,
		},
		t,
	)

	defer func() {
		// Make sure the process dies before destroying runtime
		containerKill(eng, containerID, t)
		containerWait(eng, containerID, t)
	}()

	startContainer(eng, containerID, t)

	// Give some time to the process to start
	containerWaitTimeout(eng, containerID, t)

	if !containerRunning(eng, containerID, t) {
		t.Errorf("Container should be running")
	}

	var (
		setData engine.Env
		config  []struct {
			Key   string
			Value string
		}
	)
	config = append(config, struct {
		Key   string
		Value string
	}{Key: "image", Value: "test:v1"})
	setData.SetJson("config", config)

	jsonData := bytes.NewBuffer(nil)
	if err := setData.Encode(jsonData); err != nil {
		t.Fatal(err)
	}

	r := httptest.NewRecorder()
	req, err := http.NewRequest("POST", "/containers/"+containerID+"/set", jsonData)
	req.Header.Add("Content-Type", "application/json")
	if err != nil {
		t.Fatal(err)
	}
	if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
		t.Fatal(err)
	}
	assertHttpNotError(r, t)

	if r.Code != http.StatusOK {
		t.Errorf("Expected response for OPTIONS request to be \"200\", %v found.", r.Code)
	}
}
開發者ID:TencentSA,項目名稱:docker-1.3,代碼行數:63,代碼來源:api_test.go


注:本文中的github.com/docker/docker/engine.Env.SetJson方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。