创建实例
更新时间:2026-09-30
描述
创建一个BCI容器实例。
请求参数
详见API创建实例
示例代码
如下代码可以创建一个BCI实例
Java
1import com.baidubce.auth.DefaultBceCredentials;
2import com.baidubce.services.bci.BciClient;
3import com.baidubce.services.bci.BciClientConfiguration;
4import com.baidubce.services.bci.model.*;
5
6import java.util.ArrayList;
7import java.util.Arrays;
8import java.util.Collections;
9
10public class CreateInstanceSample {
11 public static void main(String[] args) {
12 String accessKeyId = "your-access-key-id";
13 String secretAccessKey = "your-secret-access-key";
14 String endpoint = "https://bci.bj.baidubce.com";
15
16 BciClientConfiguration config = new BciClientConfiguration();
17 config.setCredentials(new DefaultBceCredentials(accessKeyId, secretAccessKey));
18 config.setEndpoint(endpoint);
19
20 BciClient bciClient = new BciClient(config);
21 CreateInstanceResponse response = createInstance(bciClient);
22 System.out.println("instanceId: " + response.getInstanceId());
23 }
24
25 public static CreateInstanceResponse createInstance(BciClient bciClient) {
26 CreateInstanceRequest request = new CreateInstanceRequest();
27
28 request.setName("test-instance-01");
29 // zoneName 为可选参数,按需设置。
30 // request.setZoneName("zoneB");
31 request.setSecurityGroupIds(Collections.singletonList("g-xxxx"));
32 request.setSubnetIds(Collections.singletonList("sbn-xxxx"));
33 request.setRestartPolicy("Never");
34 // 绑定已有 EIP 时按需设置。
35 // request.setEipIp("x.x.x.x");
36
37 request.setTags(Collections.singletonList(new Tag("module", "create")));
38 // 使用私有镜像仓库时再配置凭证。
39 request.setImageRegistryCredentials(Collections.singletonList(
40 new ImageRegistryCredential("docker.io/example", "your-username", "your-password")
41 ));
42
43 Volume volume = new Volume();
44 volume.setNfs(new ArrayList());
45 volume.setEmptyDir(new ArrayList());
46 volume.setConfigFile(new ArrayList());
47 request.setVolume(volume);
48
49 Container container = new Container();
50 container.setName("container01");
51 container.setImage("registry.baidubce.com/bci-zjm-public/ubuntu:18.04");
52 container.setMemory(0.25f);
53 container.setCpu(0.25f);
54 container.setWorkingDir("/workspace");
55 container.setImagePullPolicy("Always");
56 container.setCommands(Arrays.asList("/bin/sh", "-c", "sleep 600"));
57 container.setPorts(Collections.singletonList(new Port(80, "TCP", "myport")));
58 container.setEnvironmentVars(Collections.singletonList(new Environment("envkey", "envvalue")));
59
60 request.setContainers(Collections.singletonList(container));
61 return bciClient.createInstance(request);
62 }
63}
评价此篇文章
