hyperb 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.codeclimate.yml +12 -0
- data/.gitignore +12 -0
- data/.rspec +2 -0
- data/.rubocop.yml +41 -0
- data/Dockerfile +7 -0
- data/Gemfile +16 -0
- data/LICENSE.txt +21 -0
- data/Makefile +16 -0
- data/README.md +188 -0
- data/Rakefile +24 -0
- data/circle.yml +13 -0
- data/examples/README.md +367 -0
- data/examples/auth-gcr-registry.md +19 -0
- data/examples/compose.md +75 -0
- data/examples/handling-errors.md +54 -0
- data/examples/streaming-logs.md +28 -0
- data/examples/streaming-stats.md +25 -0
- data/hyperb.gemspec +30 -0
- data/lib/hyperb.rb +4 -0
- data/lib/hyperb/api.rb +22 -0
- data/lib/hyperb/auth_object.rb +42 -0
- data/lib/hyperb/client.rb +32 -0
- data/lib/hyperb/compose/compose.rb +116 -0
- data/lib/hyperb/containers/container.rb +27 -0
- data/lib/hyperb/containers/containers.rb +251 -0
- data/lib/hyperb/error.rb +44 -0
- data/lib/hyperb/hyper_version.rb +12 -0
- data/lib/hyperb/images/image.rb +13 -0
- data/lib/hyperb/images/images.rb +108 -0
- data/lib/hyperb/network/fips.rb +102 -0
- data/lib/hyperb/request.rb +129 -0
- data/lib/hyperb/services/services.rb +59 -0
- data/lib/hyperb/snapshots/snapshot.rb +12 -0
- data/lib/hyperb/snapshots/snapshots.rb +39 -0
- data/lib/hyperb/utils.rb +39 -0
- data/lib/hyperb/version.rb +3 -0
- data/lib/hyperb/volumes/volume.rb +16 -0
- data/lib/hyperb/volumes/volumes.rb +67 -0
- data/spec/auth_object_spec.rb +45 -0
- data/spec/client_spec.rb +27 -0
- data/spec/compose_spec.rb +145 -0
- data/spec/container_spec.rb +25 -0
- data/spec/containers_spec.rb +442 -0
- data/spec/create_snapshot.rb +30 -0
- data/spec/error_spec.rb +18 -0
- data/spec/fixtures/auth_obj.json +12 -0
- data/spec/fixtures/compose_rm.json +1 -0
- data/spec/fixtures/compose_up.json +1 -0
- data/spec/fixtures/container_stats.json +78 -0
- data/spec/fixtures/containers.json +160 -0
- data/spec/fixtures/create_container.json +4 -0
- data/spec/fixtures/create_image.json +1 -0
- data/spec/fixtures/create_service.json +35 -0
- data/spec/fixtures/create_snapshot.json +8 -0
- data/spec/fixtures/fip_allocate.json +7 -0
- data/spec/fixtures/fips_ls.json +14 -0
- data/spec/fixtures/images.json +32 -0
- data/spec/fixtures/inspect_container.json +159 -0
- data/spec/fixtures/inspect_image.json +89 -0
- data/spec/fixtures/inspect_volume.json +11 -0
- data/spec/fixtures/remove_container.json +1 -0
- data/spec/fixtures/remove_image.json +5 -0
- data/spec/fixtures/volumes.json +13 -0
- data/spec/helper.rb +36 -0
- data/spec/image_spec.rb +17 -0
- data/spec/images_spec.rb +133 -0
- data/spec/network_spec.rb +106 -0
- data/spec/request_spec.rb +41 -0
- data/spec/services_spec.rb +193 -0
- data/spec/version_spec.rb +7 -0
- data/spec/volumes_spec.rb +88 -0
- metadata +74 -3
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'helper'
|
2
|
+
require 'http'
|
3
|
+
|
4
|
+
RSpec.describe Hyperb::Snapshots do
|
5
|
+
|
6
|
+
before do
|
7
|
+
@client = Hyperb::Client.new(access_key: 'key', secret_key: '123')
|
8
|
+
@base_path = Hyperb::Request::BASE_URL + Hyperb::Request::VERSION + '/snapshots'
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#create_snapshot' do
|
12
|
+
|
13
|
+
it 'should raise ArgumentError if volume argument missing' do
|
14
|
+
expect { @client.create_snapshot name: 'name' }.to raise_error(ArgumentError)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should raise ArgumentError if name argument missing' do
|
18
|
+
expect { @client.create_snapshot volume: 'volume-id' }.to raise_error(ArgumentError)
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'request to the correct path should be made' do
|
22
|
+
path = @base_path + '/create?volume=volumee&name=namee'
|
23
|
+
stub_request(:post, path)
|
24
|
+
.to_return(body: fixture('create_snapshot.json'))
|
25
|
+
|
26
|
+
@client.create_snapshot volume: 'volumee', name: 'namee'
|
27
|
+
expect(a_request(:post, path)).to have_been_made
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/spec/error_spec.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require "helper"
|
2
|
+
|
3
|
+
RSpec.describe Hyperb::Error do
|
4
|
+
|
5
|
+
before do
|
6
|
+
# random url for request mocking
|
7
|
+
@path = Hyperb::Request::BASE_URL + Hyperb::Request::VERSION + '/version'
|
8
|
+
@client = Hyperb::Client.new secret_key: '123', access_key: 'ak'
|
9
|
+
end
|
10
|
+
|
11
|
+
Hyperb::Error::ERRORS.each do |code, exception|
|
12
|
+
it "#{exception}" do
|
13
|
+
stub_request(:get, @path).to_return(status: code)
|
14
|
+
expect { @client.version }.to raise_error(exception)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
{
|
2
|
+
"type": "service_account",
|
3
|
+
"project_id": "test-test-772219",
|
4
|
+
"private_key_id": "56c441e608e353555f1f5cedffb7708f777c252a",
|
5
|
+
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCveubQwtjjcxrs\nAUkizhwUcAmNUiftM3IZkKJEpzdGts7BNxPndlJHiIXeJohbHQzQ0mCqy3Rd8B96\n71YgwYGyVq5CK0EYjKoE/aqZkpl00h8b90b6Flz3m5TxTpm\nf0HLo1ymAq/BEe0tBU4m7Qfi87gMJoMBCs8pjiXk8KRptxxzd8GjjwGegnKGsttx\nqGoZfPCRCo8lUAsi9I7NWyDJjL5oNAaKzHfKroECgYEAzAQDoV4L5SAOu5clWGk8\nVxZJENVpfLAaRpP974+a1ihZe/SRSbsdT7V4ro/K9sb9Y2DWM4cKlqK5SWPi275k\n+1BpJlKAKhPQ3xr1CseH6tamKNPcXLmA1lI2dijODgBaSBkCCx7JrVE0vk7ZHxMd\n19X74+OcaPmL+JUylP9Ck0k=\n-----END PRIVATE KEY-----\n",
|
6
|
+
"client_email": "test.iam.gserviceaccount.com",
|
7
|
+
"client_id": "666699092232077779398",
|
8
|
+
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
|
9
|
+
"token_uri": "https://accounts.google.com/o/oauth2/token",
|
10
|
+
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
|
11
|
+
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test.iam.gserviceaccount.com"
|
12
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"status":"Project [hypercli]: Deleting project "}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"status":"Project [blog]: Starting project "}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
{
|
2
|
+
"read" : "2015-01-08T22:57:31.547920715Z",
|
3
|
+
"networks": {
|
4
|
+
"eth0": {
|
5
|
+
"rx_bytes": 5338,
|
6
|
+
"rx_dropped": 0,
|
7
|
+
"rx_errors": 0,
|
8
|
+
"rx_packets": 36,
|
9
|
+
"tx_bytes": 648,
|
10
|
+
"tx_dropped": 0,
|
11
|
+
"tx_errors": 0,
|
12
|
+
"tx_packets": 8
|
13
|
+
},
|
14
|
+
"eth5": {
|
15
|
+
"rx_bytes": 4641,
|
16
|
+
"rx_dropped": 0,
|
17
|
+
"rx_errors": 0,
|
18
|
+
"rx_packets": 26,
|
19
|
+
"tx_bytes": 690,
|
20
|
+
"tx_dropped": 0,
|
21
|
+
"tx_errors": 0,
|
22
|
+
"tx_packets": 9
|
23
|
+
}
|
24
|
+
},
|
25
|
+
"memory_stats" : {
|
26
|
+
"stats" : {
|
27
|
+
"total_pgmajfault" : 0,
|
28
|
+
"cache" : 0,
|
29
|
+
"mapped_file" : 0,
|
30
|
+
"total_inactive_file" : 0,
|
31
|
+
"pgpgout" : 414,
|
32
|
+
"rss" : 6537216,
|
33
|
+
"total_mapped_file" : 0,
|
34
|
+
"writeback" : 0,
|
35
|
+
"unevictable" : 0,
|
36
|
+
"pgpgin" : 477,
|
37
|
+
"total_unevictable" : 0,
|
38
|
+
"pgmajfault" : 0,
|
39
|
+
"total_rss" : 6537216,
|
40
|
+
"total_rss_huge" : 6291456,
|
41
|
+
"total_writeback" : 0,
|
42
|
+
"total_inactive_anon" : 0,
|
43
|
+
"rss_huge" : 6291456,
|
44
|
+
"hierarchical_memory_limit" : 67108864,
|
45
|
+
"total_pgfault" : 964,
|
46
|
+
"total_active_file" : 0,
|
47
|
+
"active_anon" : 6537216,
|
48
|
+
"total_active_anon" : 6537216,
|
49
|
+
"total_pgpgout" : 414,
|
50
|
+
"total_cache" : 0,
|
51
|
+
"inactive_anon" : 0,
|
52
|
+
"active_file" : 0,
|
53
|
+
"pgfault" : 964,
|
54
|
+
"inactive_file" : 0,
|
55
|
+
"total_pgpgin" : 477
|
56
|
+
},
|
57
|
+
"max_usage" : 6651904,
|
58
|
+
"usage" : 6537216,
|
59
|
+
"failcnt" : 0,
|
60
|
+
"limit" : 67108864
|
61
|
+
},
|
62
|
+
"blkio_stats" : {},
|
63
|
+
"cpu_stats" : {
|
64
|
+
"cpu_usage" : {
|
65
|
+
"percpu_usage" : [
|
66
|
+
16970827,
|
67
|
+
1839451,
|
68
|
+
7107380,
|
69
|
+
10571290
|
70
|
+
],
|
71
|
+
"usage_in_usermode" : 10000000,
|
72
|
+
"total_usage" : 36488948,
|
73
|
+
"usage_in_kernelmode" : 20000000
|
74
|
+
},
|
75
|
+
"system_cpu_usage" : 20091722000000000,
|
76
|
+
"throttling_data" : {}
|
77
|
+
}
|
78
|
+
}
|
@@ -0,0 +1,160 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"Id": "52368c159761ea1832c891c128391d11ff87684b7f0aec683625296c9879dd57",
|
4
|
+
"Names":["/boring_feynman"],
|
5
|
+
"Image": "ubuntu:latest",
|
6
|
+
"ImageID": "sha256:d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82",
|
7
|
+
"Command": "echo 1",
|
8
|
+
"Created": 1367854155,
|
9
|
+
"Ports": [{"PrivatePort": 2222, "PublicPort": 3333, "Type": "tcp"}],
|
10
|
+
"Labels": {
|
11
|
+
"com.example.vendor": "Acme",
|
12
|
+
"com.example.license": "GPL",
|
13
|
+
"com.example.version": "1.0",
|
14
|
+
"sh.hyper.fip": "",
|
15
|
+
"sh_hyper_instancetype": "xxs"
|
16
|
+
},
|
17
|
+
"SizeRw": 12288,
|
18
|
+
"SizeRootFs": 0,
|
19
|
+
"State": "",
|
20
|
+
"Status": "Exit 0",
|
21
|
+
"HostConfig": {
|
22
|
+
"NetworkMode": "bridge"
|
23
|
+
},
|
24
|
+
"NetworkSettings": {
|
25
|
+
"Networks": {
|
26
|
+
"bridge": {
|
27
|
+
"IPAMConfig": null,
|
28
|
+
"Links": null,
|
29
|
+
"Aliases": null,
|
30
|
+
"NetworkID": "",
|
31
|
+
"EndpointID": "",
|
32
|
+
"Gateway": "172.17.0.1",
|
33
|
+
"IPAddress": "172.17.0.2",
|
34
|
+
"IPPrefixLen": 16,
|
35
|
+
"IPv6Gateway": "",
|
36
|
+
"GlobalIPv6Address": "",
|
37
|
+
"GlobalIPv6PrefixLen": 0,
|
38
|
+
"MacAddress": ""
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
},
|
43
|
+
{
|
44
|
+
"Id": "7275e7626f770a1337c5a3479d4ac628b6ddb8d3f714dc0c465b08970008f115",
|
45
|
+
"Names":["/coolName"],
|
46
|
+
"Image": "ubuntu:latest",
|
47
|
+
"ImageID": "sha256:d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82",
|
48
|
+
"Command": "echo 222222",
|
49
|
+
"Created": 1367854155,
|
50
|
+
"Ports": [],
|
51
|
+
"Labels": {
|
52
|
+
"sh.hyper.fip": "",
|
53
|
+
"sh_hyper_instancetype": "xxs"
|
54
|
+
},
|
55
|
+
"SizeRw": 12288,
|
56
|
+
"SizeRootFs": 0,
|
57
|
+
"State": "",
|
58
|
+
"Status": "Exit 0",
|
59
|
+
"HostConfig": {
|
60
|
+
"NetworkMode": "bridge"
|
61
|
+
},
|
62
|
+
"NetworkSettings": {
|
63
|
+
"Networks": {
|
64
|
+
"bridge": {
|
65
|
+
"IPAMConfig": null,
|
66
|
+
"Links": null,
|
67
|
+
"Aliases": null,
|
68
|
+
"NetworkID": "",
|
69
|
+
"EndpointID": "",
|
70
|
+
"Gateway": "172.17.0.1",
|
71
|
+
"IPAddress": "172.17.0.8",
|
72
|
+
"IPPrefixLen": 16,
|
73
|
+
"IPv6Gateway": "",
|
74
|
+
"GlobalIPv6Address": "",
|
75
|
+
"GlobalIPv6PrefixLen": 0,
|
76
|
+
"MacAddress": ""
|
77
|
+
}
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
},
|
82
|
+
{
|
83
|
+
"Id": "225fb31677846376d54eae5686ad1a11e86f033b0580ff63e678ed2f49f10e75",
|
84
|
+
"Names":["/sleepy_dog"],
|
85
|
+
"Image": "ubuntu:latest",
|
86
|
+
"ImageID": "sha256:d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82",
|
87
|
+
"Command": "echo 3333333333333333",
|
88
|
+
"Created": 1367854154,
|
89
|
+
"Ports":[],
|
90
|
+
"Labels": {
|
91
|
+
"sh.hyper.fip": "",
|
92
|
+
"sh_hyper_instancetype": "xxs"
|
93
|
+
},
|
94
|
+
"SizeRw":12288,
|
95
|
+
"SizeRootFs":0,
|
96
|
+
"State": "",
|
97
|
+
"Status": "Exit 0",
|
98
|
+
"HostConfig": {
|
99
|
+
"NetworkMode": "bridge"
|
100
|
+
},
|
101
|
+
"NetworkSettings": {
|
102
|
+
"Networks": {
|
103
|
+
"bridge": {
|
104
|
+
"IPAMConfig": null,
|
105
|
+
"Links": null,
|
106
|
+
"Aliases": null,
|
107
|
+
"NetworkID": "",
|
108
|
+
"EndpointID": "",
|
109
|
+
"Gateway": "172.17.0.1",
|
110
|
+
"IPAddress": "172.17.0.6",
|
111
|
+
"IPPrefixLen": 16,
|
112
|
+
"IPv6Gateway": "",
|
113
|
+
"GlobalIPv6Address": "",
|
114
|
+
"GlobalIPv6PrefixLen": 0,
|
115
|
+
"MacAddress": ""
|
116
|
+
}
|
117
|
+
}
|
118
|
+
}
|
119
|
+
|
120
|
+
},
|
121
|
+
{
|
122
|
+
"Id": "781b3089f578545224cc32a62a428563f2d4e33bccd3494e2516b3ca0cc1ffb5",
|
123
|
+
"Names":["/running_cat"],
|
124
|
+
"Image": "ubuntu:latest",
|
125
|
+
"ImageID": "sha256:d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82",
|
126
|
+
"Command": "echo 444444444444444444444444444444444",
|
127
|
+
"Created": 1367854152,
|
128
|
+
"Ports": [],
|
129
|
+
"Labels": {
|
130
|
+
"sh.hyper.fip": "",
|
131
|
+
"sh_hyper_instancetype": "xxs"
|
132
|
+
},
|
133
|
+
"SizeRw": 12288,
|
134
|
+
"SizeRootFs": 0,
|
135
|
+
"State": "",
|
136
|
+
"Status": "Exit 0",
|
137
|
+
"HostConfig": {
|
138
|
+
"NetworkMode": "bridge"
|
139
|
+
},
|
140
|
+
"NetworkSettings": {
|
141
|
+
"Networks": {
|
142
|
+
"bridge": {
|
143
|
+
"IPAMConfig": null,
|
144
|
+
"Links": null,
|
145
|
+
"Aliases": null,
|
146
|
+
"NetworkID": "",
|
147
|
+
"EndpointID": "",
|
148
|
+
"Gateway": "172.17.0.1",
|
149
|
+
"IPAddress": "172.17.0.5",
|
150
|
+
"IPPrefixLen": 16,
|
151
|
+
"IPv6Gateway": "",
|
152
|
+
"GlobalIPv6Address": "",
|
153
|
+
"GlobalIPv6PrefixLen": 0,
|
154
|
+
"MacAddress": ""
|
155
|
+
}
|
156
|
+
}
|
157
|
+
}
|
158
|
+
|
159
|
+
}
|
160
|
+
]
|
@@ -0,0 +1 @@
|
|
1
|
+
{"status": "Pulling", "progress": "1 B/ 100 B", "progressDetail": {"current": 1, "total": 100}}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
{
|
2
|
+
"Name": "http",
|
3
|
+
"Image": "nginx",
|
4
|
+
"WorkingDir": "",
|
5
|
+
"ContainerSize": "s4",
|
6
|
+
"SSLCert": "",
|
7
|
+
"NetMode": "",
|
8
|
+
"StopSignal": "",
|
9
|
+
"ServicePort": 80,
|
10
|
+
"ContainerPort": 80,
|
11
|
+
"Replicas": 2,
|
12
|
+
"HealthCheckInterval": 5,
|
13
|
+
"HealthCheckFall": 3,
|
14
|
+
"HealthCheckRise": 2,
|
15
|
+
"Algorithm": "roundrobin",
|
16
|
+
"Protocol": "http",
|
17
|
+
"Stdin": false,
|
18
|
+
"Tty": false,
|
19
|
+
"SessionAffinity": false,
|
20
|
+
"Entrypoint": null,
|
21
|
+
"Cmd": null,
|
22
|
+
"Env": null,
|
23
|
+
"Volumes": null,
|
24
|
+
"Labels": {
|
25
|
+
"app": "nginx"
|
26
|
+
},
|
27
|
+
"SecurityGroups": null,
|
28
|
+
"IP": "",
|
29
|
+
"Tenant": "b8dc36865f4b480683dabb25598d61c4",
|
30
|
+
"FIP": "",
|
31
|
+
"Message": "Service is created",
|
32
|
+
"Created": "2016-10-08T13:12:15.405946064Z",
|
33
|
+
"Status": "created",
|
34
|
+
"Containers": null
|
35
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"Created": 1420064636,
|
4
|
+
"Id": "4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125",
|
5
|
+
"ParentId": "ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2",
|
6
|
+
"RepoDigests": [
|
7
|
+
"localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf"
|
8
|
+
],
|
9
|
+
"RepoTags": [
|
10
|
+
"localhost:5000/test/busybox:latest",
|
11
|
+
"playdate:latest"
|
12
|
+
],
|
13
|
+
"Size": 0,
|
14
|
+
"VirtualSize": 2429728,
|
15
|
+
"Labels": {}
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"Created": 1420064610,
|
19
|
+
"Id": "4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8400",
|
20
|
+
"ParentId": "ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2",
|
21
|
+
"RepoDigests": [
|
22
|
+
"localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf"
|
23
|
+
],
|
24
|
+
"RepoTags": [
|
25
|
+
"localhost:5000/test/busybox:latest",
|
26
|
+
"playdate:latest"
|
27
|
+
],
|
28
|
+
"Size": 0,
|
29
|
+
"VirtualSize": 2422728,
|
30
|
+
"Labels": {}
|
31
|
+
}
|
32
|
+
]
|
@@ -0,0 +1,159 @@
|
|
1
|
+
{
|
2
|
+
"AppArmorProfile": "",
|
3
|
+
"Args": [
|
4
|
+
"-c",
|
5
|
+
"exit 9"
|
6
|
+
],
|
7
|
+
"Config": {
|
8
|
+
"AttachStderr": true,
|
9
|
+
"AttachStdin": false,
|
10
|
+
"AttachStdout": true,
|
11
|
+
"Cmd": [
|
12
|
+
"/bin/sh",
|
13
|
+
"-c",
|
14
|
+
"exit 9"
|
15
|
+
],
|
16
|
+
"Domainname": "",
|
17
|
+
"Entrypoint": null,
|
18
|
+
"Env": [
|
19
|
+
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
20
|
+
],
|
21
|
+
"ExposedPorts": null,
|
22
|
+
"Hostname": "ba033ac44011",
|
23
|
+
"Image": "ubuntu",
|
24
|
+
"Labels": {
|
25
|
+
"com.example.vendor": "Acme",
|
26
|
+
"com.example.license": "GPL",
|
27
|
+
"com.example.version": "1.0"
|
28
|
+
},
|
29
|
+
"MacAddress": "",
|
30
|
+
"NetworkDisabled": false,
|
31
|
+
"OnBuild": null,
|
32
|
+
"OpenStdin": false,
|
33
|
+
"StdinOnce": false,
|
34
|
+
"Tty": false,
|
35
|
+
"User": "",
|
36
|
+
"Volumes": null,
|
37
|
+
"WorkingDir": "",
|
38
|
+
"StopSignal": "SIGTERM"
|
39
|
+
},
|
40
|
+
"Created": "2015-01-06T15:47:31.485331387Z",
|
41
|
+
"Driver": "devicemapper",
|
42
|
+
"ExecDriver": "native-0.2",
|
43
|
+
"ExecIDs": null,
|
44
|
+
"HostConfig": {
|
45
|
+
"Binds": null,
|
46
|
+
"BlkioWeight": 0,
|
47
|
+
"BlkioWeightDevice": [{}],
|
48
|
+
"BlkioDeviceReadBps": [{}],
|
49
|
+
"BlkioDeviceWriteBps": [{}],
|
50
|
+
"BlkioDeviceReadIOps": [{}],
|
51
|
+
"BlkioDeviceWriteIOps": [{}],
|
52
|
+
"CapAdd": null,
|
53
|
+
"CapDrop": null,
|
54
|
+
"ContainerIDFile": "",
|
55
|
+
"CpusetCpus": "",
|
56
|
+
"CpusetMems": "",
|
57
|
+
"CpuShares": 0,
|
58
|
+
"CpuPeriod": 100000,
|
59
|
+
"Devices": [],
|
60
|
+
"Dns": null,
|
61
|
+
"DnsOptions": null,
|
62
|
+
"DnsSearch": null,
|
63
|
+
"ExtraHosts": null,
|
64
|
+
"IpcMode": "",
|
65
|
+
"Links": null,
|
66
|
+
"LxcConf": [],
|
67
|
+
"Memory": 0,
|
68
|
+
"MemorySwap": 0,
|
69
|
+
"MemoryReservation": 0,
|
70
|
+
"KernelMemory": 0,
|
71
|
+
"OomKillDisable": false,
|
72
|
+
"OomScoreAdj": 500,
|
73
|
+
"NetworkMode": "bridge",
|
74
|
+
"PortBindings": {},
|
75
|
+
"Privileged": false,
|
76
|
+
"ReadonlyRootfs": false,
|
77
|
+
"PublishAllPorts": false,
|
78
|
+
"RestartPolicy": {
|
79
|
+
"MaximumRetryCount": 2,
|
80
|
+
"Name": "on-failure"
|
81
|
+
},
|
82
|
+
"LogConfig": {
|
83
|
+
"Config": null,
|
84
|
+
"Type": "json-file"
|
85
|
+
},
|
86
|
+
"SecurityOpt": null,
|
87
|
+
"VolumesFrom": null,
|
88
|
+
"Ulimits": [{}],
|
89
|
+
"VolumeDriver": "",
|
90
|
+
"ShmSize": 67108864
|
91
|
+
},
|
92
|
+
"HostnamePath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname",
|
93
|
+
"HostsPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts",
|
94
|
+
"LogPath": "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log",
|
95
|
+
"Id": "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39",
|
96
|
+
"Image": "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2",
|
97
|
+
"MountLabel": "",
|
98
|
+
"Name": "/boring_euclid",
|
99
|
+
"NetworkSettings": {
|
100
|
+
"Bridge": "",
|
101
|
+
"SandboxID": "",
|
102
|
+
"HairpinMode": false,
|
103
|
+
"LinkLocalIPv6Address": "",
|
104
|
+
"LinkLocalIPv6PrefixLen": 0,
|
105
|
+
"Ports": null,
|
106
|
+
"SandboxKey": "",
|
107
|
+
"SecondaryIPAddresses": null,
|
108
|
+
"SecondaryIPv6Addresses": null,
|
109
|
+
"EndpointID": "",
|
110
|
+
"Gateway": "",
|
111
|
+
"GlobalIPv6Address": "",
|
112
|
+
"GlobalIPv6PrefixLen": 0,
|
113
|
+
"IPAddress": "",
|
114
|
+
"IPPrefixLen": 0,
|
115
|
+
"IPv6Gateway": "",
|
116
|
+
"MacAddress": "",
|
117
|
+
"Networks": {
|
118
|
+
"bridge": {
|
119
|
+
"NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812",
|
120
|
+
"EndpointID": "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d",
|
121
|
+
"Gateway": "172.17.0.1",
|
122
|
+
"IPAddress": "172.17.0.2",
|
123
|
+
"IPPrefixLen": 16,
|
124
|
+
"IPv6Gateway": "",
|
125
|
+
"GlobalIPv6Address": "",
|
126
|
+
"GlobalIPv6PrefixLen": 0,
|
127
|
+
"MacAddress": "02:42:ac:12:00:02"
|
128
|
+
}
|
129
|
+
}
|
130
|
+
},
|
131
|
+
"Path": "/bin/sh",
|
132
|
+
"ProcessLabel": "",
|
133
|
+
"ResolvConfPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf",
|
134
|
+
"RestartCount": 1,
|
135
|
+
"State": {
|
136
|
+
"Error": "",
|
137
|
+
"ExitCode": 9,
|
138
|
+
"FinishedAt": "2015-01-06T15:47:32.080254511Z",
|
139
|
+
"OOMKilled": false,
|
140
|
+
"Dead": false,
|
141
|
+
"Paused": false,
|
142
|
+
"Pid": 0,
|
143
|
+
"Restarting": false,
|
144
|
+
"Running": true,
|
145
|
+
"StartedAt": "2015-01-06T15:47:32.072697474Z",
|
146
|
+
"Status": "running"
|
147
|
+
},
|
148
|
+
"Mounts": [
|
149
|
+
{
|
150
|
+
"Name": "fac362...80535",
|
151
|
+
"Source": "/data",
|
152
|
+
"Destination": "/data",
|
153
|
+
"Driver": "local",
|
154
|
+
"Mode": "ro,Z",
|
155
|
+
"RW": false,
|
156
|
+
"Propagation": ""
|
157
|
+
}
|
158
|
+
]
|
159
|
+
}
|