docker-api 0.1.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +21 -48
- data/lib/docker/connection.rb +8 -1
- data/lib/docker/container.rb +11 -12
- data/lib/docker/error.rb +0 -4
- data/lib/docker/image.rb +44 -30
- data/lib/docker/model.rb +30 -40
- data/lib/docker/version.rb +1 -1
- data/spec/docker/connection_spec.rb +3 -2
- data/spec/docker/container_spec.rb +206 -377
- data/spec/docker/image_spec.rb +123 -237
- data/spec/vcr/Docker_Container/_all/when_the_HTTP_response_is_a_200/materializes_each_Container_into_a_Docker_Container.yml +2503 -263
- data/spec/vcr/Docker_Container/_attach/{when_the_Container_has_been_created/when_the_HTTP_response_status_is_200 → when_the_HTTP_response_status_is_200}/yields_each_chunk.yml +30 -22
- data/spec/vcr/Docker_Container/_changes/{when_the_Container_has_been_created/when_the_HTTP_response_status_is_200 → when_the_HTTP_response_status_is_200}/returns_the_changes_as_an_array.yml +41 -33
- data/spec/vcr/Docker_Container/_commit/{when_the_Container_has_been_created/when_the_HTTP_response_status_is_200 → when_the_HTTP_response_status_is_200}/creates_a_new_Image_from_the_Container_s_changes.yml +34 -28
- data/spec/vcr/Docker_Container/{_create_ → _create}/when_the_Container_does_not_yet_exist_and_the_body_is_a_Hash/when_the_HTTP_request_returns_a_200/sets_the_id.yml +11 -9
- data/spec/vcr/Docker_Container/_export/{when_the_Container_has_been_created/when_the_HTTP_response_status_is_200 → when_the_HTTP_response_status_is_200}/yields_each_chunk.yml +43 -29
- data/spec/vcr/Docker_Container/_json/when_the_HTTP_response_status_is_200/returns_the_description_as_a_Hash.yml +63 -0
- data/spec/vcr/Docker_Container/_kill/when_the_HTTP_response_status_is_204/kills_the_container.yml +1358 -0
- data/spec/vcr/Docker_Container/_restart/{when_the_Container_has_been_created/when_the_HTTP_response_status_is_204 → when_the_HTTP_response_status_is_204}/restarts_the_container.yml +73 -59
- data/spec/vcr/Docker_Container/_start/{when_the_Container_has_been_created/when_the_HTTP_response_status_is_200 → when_the_HTTP_response_status_is_200}/starts_the_container.yml +33 -28
- data/spec/vcr/Docker_Container/_stop/when_the_HTTP_response_status_is_204/stops_the_container.yml +1387 -0
- data/spec/vcr/Docker_Container/_wait/{when_the_Container_has_been_created/when_the_HTTP_response_status_is_200 → when_the_HTTP_response_status_is_200}/waits_for_the_command_to_finish.yml +31 -25
- data/spec/vcr/Docker_Image/_all/when_the_HTTP_response_is_a_200/materializes_each_Image_into_a_Docker_Image.yml +6 -6
- data/spec/vcr/Docker_Image/_build/with_a_valid_Dockerfile/builds_an_image.yml +4 -4
- data/spec/vcr/Docker_Image/_build/with_an_invalid_Dockerfile/throws_a_UnexpectedResponseError.yml +4 -4
- data/spec/vcr/Docker_Image/_build_from_dir/with_a_valid_Dockerfile/builds_the_image.yml +14 -14
- data/spec/vcr/Docker_Image/_create/when_the_Image_does_not_yet_exist_and_the_body_is_a_Hash/when_the_HTTP_request_returns_a_200/sets_the_id.yml +33 -0
- data/spec/vcr/Docker_Image/_history/when_the_HTTP_response_status_is_200/returns_the_history_of_the_Image.yml +63 -0
- data/spec/vcr/Docker_Image/_import/when_the_file_does_exist/creates_the_Image.yml +11 -9
- data/spec/vcr/Docker_Image/_insert/when_the_HTTP_response_status_is_200/inserts_the_url_s_file_into_a_new_Image.yml +220 -0
- data/spec/vcr/Docker_Image/_json/when_the_HTTP_response_status_is_200/returns_additional_information_about_image_image.yml +63 -0
- data/spec/vcr/Docker_Image/_remove/when_the_HTTP_response_status_is_204/removes_the_Image.yml +93 -0
- data/spec/vcr/Docker_Image/_remove/when_the_Image_has_been_created/when_the_HTTP_response_status_is_204/removes_the_Image.yml +63 -0
- data/spec/vcr/Docker_Image/_run/when_the_Image_has_been_created/when_the_argument_is_a_String/splits_the_String_by_spaces_and_creates_a_new_Container.yml +119 -0
- data/spec/vcr/Docker_Image/_run/when_the_Image_has_been_created/when_the_argument_is_an_Array/creates_a_new_Container.yml +119 -0
- data/spec/vcr/Docker_Image/_run/when_the_argument_is_a_String/splits_the_String_by_spaces_and_creates_a_new_Container.yml +119 -0
- data/spec/vcr/Docker_Image/_run/when_the_argument_is_an_Array/creates_a_new_Container.yml +119 -0
- data/spec/vcr/Docker_Image/_tag/when_the_HTTP_response_status_is_200/tags_the_image_with_the_repo_name.yml +63 -0
- metadata +46 -29
- data/spec/vcr/Docker_Container/_json/when_the_Container_has_been_created/when_the_HTTP_response_status_is_200/returns_the_description_as_a_Hash.yml +0 -61
- data/spec/vcr/Docker_Container/_kill/when_the_Container_has_been_created/when_the_HTTP_response_status_is_204/kills_the_container.yml +0 -232
- data/spec/vcr/Docker_Container/_stop/when_the_Container_has_been_created/when_the_HTTP_response_status_is_204/stops_the_container.yml +0 -259
data/spec/docker/image_spec.rb
CHANGED
@@ -1,57 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Docker::Image do
|
4
|
-
|
5
|
-
subject { described_class }
|
6
|
-
|
7
|
-
context 'with no argument' do
|
8
|
-
let(:image) { subject.new }
|
9
|
-
|
10
|
-
it 'sets the id to nil' do
|
11
|
-
image.id.should be_nil
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'keeps the default Connection' do
|
15
|
-
image.connection.should == Docker.connection
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
context 'with an argument' do
|
20
|
-
let(:id) { 'a7c2ee4' }
|
21
|
-
let(:image) { subject.new(:id => id) }
|
22
|
-
|
23
|
-
it 'sets the id to the argument' do
|
24
|
-
image.id.should == id
|
25
|
-
end
|
26
|
-
|
27
|
-
it 'keeps the default Connection' do
|
28
|
-
image.connection.should == Docker.connection
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
context 'with two arguments' do
|
33
|
-
context 'when the second argument is not a Docker::Connection' do
|
34
|
-
let(:id) { 'abc123f' }
|
35
|
-
let(:connection) { :not_a_connection }
|
36
|
-
let(:image) { subject.new(:id => id, :connection => connection) }
|
37
|
-
|
38
|
-
it 'raises an error' do
|
39
|
-
expect { image }.to raise_error(Docker::Error::ArgumentError)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
context 'when the second argument is a Docker::Connection' do
|
44
|
-
let(:id) { 'cb3f14a' }
|
45
|
-
let(:connection) { Docker::Connection.new }
|
46
|
-
let(:image) { subject.new(:id => id, :connection => connection) }
|
47
|
-
|
48
|
-
it 'initializes the Image' do
|
49
|
-
image.id.should == id
|
50
|
-
image.connection.should == connection
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
4
|
+
subject { described_class.send(:new, :id => rand(10000).to_s) }
|
55
5
|
|
56
6
|
describe '#to_s' do
|
57
7
|
let(:id) { 'bf119e2' }
|
@@ -59,258 +9,196 @@ describe Docker::Image do
|
|
59
9
|
let(:expected_string) do
|
60
10
|
"Docker::Image { :id => #{id}, :connection => #{connection} }"
|
61
11
|
end
|
62
|
-
|
12
|
+
before do
|
13
|
+
{
|
14
|
+
:@id => id,
|
15
|
+
:@connection => connection
|
16
|
+
}.each { |k, v| subject.instance_variable_set(k, v) }
|
17
|
+
end
|
63
18
|
|
64
19
|
its(:to_s) { should == expected_string }
|
65
20
|
end
|
66
21
|
|
67
|
-
describe '#
|
68
|
-
context 'when the
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
context 'when the id is present' do
|
73
|
-
subject { described_class.new(:id => 'a732ebf') }
|
22
|
+
describe '#remove' do
|
23
|
+
context 'when the HTTP response status is not 204' do
|
24
|
+
before { Excon.stub({ :method => :delete }, { :status => 500 }) }
|
25
|
+
after { Excon.stubs.shift }
|
74
26
|
|
75
|
-
|
27
|
+
it 'raises an error' do
|
28
|
+
expect { subject.remove }
|
29
|
+
.to raise_error(Docker::Error::ServerError)
|
30
|
+
end
|
76
31
|
end
|
77
|
-
end
|
78
32
|
|
79
|
-
|
80
|
-
|
81
|
-
subject { described_class.
|
33
|
+
context 'when the HTTP response status is 204' do
|
34
|
+
let(:id) { subject.id }
|
35
|
+
subject { described_class.create('fromImage' => 'base') }
|
82
36
|
|
83
|
-
it '
|
84
|
-
|
85
|
-
|
37
|
+
it 'removes the Image', :vcr do
|
38
|
+
subject.remove
|
39
|
+
Docker::Image.all.map(&:id).should_not include(id)
|
86
40
|
end
|
87
41
|
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe '#insert' do
|
45
|
+
context 'when the HTTP response status is not 200' do
|
46
|
+
before { Excon.stub({ :method => :post }, { :status => 500 }) }
|
47
|
+
after { Excon.stubs.shift }
|
88
48
|
|
89
|
-
context 'when the body is not a Hash' do
|
90
49
|
it 'raises an error' do
|
91
|
-
expect { subject.
|
92
|
-
.to raise_error(Docker::Error::
|
50
|
+
expect { subject.insert }
|
51
|
+
.to raise_error(Docker::Error::ServerError)
|
93
52
|
end
|
94
53
|
end
|
95
54
|
|
96
|
-
context 'when the
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
it 'raises an error' do
|
102
|
-
expect { subject.create! }.to raise_error(Docker::Error::ClientError)
|
103
|
-
end
|
104
|
-
end
|
55
|
+
context 'when the HTTP response status is 200' do
|
56
|
+
subject { described_class.build('from base') }
|
57
|
+
let(:new_image) { subject.insert(:path => '/stallman',
|
58
|
+
:url => 'http://stallman.org') }
|
59
|
+
let(:ls_output) { new_image.run('ls /').attach.split("\n") }
|
105
60
|
|
106
|
-
|
107
|
-
|
108
|
-
expect { subject.create!('fromImage' => 'base') }
|
109
|
-
.to change { subject.id }
|
110
|
-
.from(nil)
|
111
|
-
end
|
61
|
+
it 'inserts the url\'s file into a new Image', :vcr do
|
62
|
+
ls_output.should include('stallman')
|
112
63
|
end
|
113
64
|
end
|
114
65
|
end
|
115
66
|
|
116
|
-
describe '#
|
117
|
-
context 'when the
|
67
|
+
describe '#push' do
|
68
|
+
context 'when the HTTP response status is not 200' do
|
69
|
+
before { Excon.stub({ :method => :post }, { :status => 500 }) }
|
70
|
+
after { Excon.stubs.shift }
|
71
|
+
|
118
72
|
it 'raises an error' do
|
119
|
-
expect { subject.
|
73
|
+
expect { subject.push }
|
74
|
+
.to raise_error(Docker::Error::ServerError)
|
120
75
|
end
|
121
76
|
end
|
122
77
|
|
123
|
-
context 'when the
|
124
|
-
|
125
|
-
before do
|
126
|
-
subject.stub(:created?).and_return(true)
|
127
|
-
Excon.stub({ :method => :delete }, { :status => 500 })
|
128
|
-
end
|
129
|
-
after { Excon.stubs.shift }
|
130
|
-
|
131
|
-
it 'raises an error' do
|
132
|
-
expect { subject.remove }
|
133
|
-
.to raise_error(Docker::Error::ServerError)
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
context 'when the HTTP response status is 204' do
|
138
|
-
before { subject.create!('fromImage' => 'base') }
|
78
|
+
context 'when the HTTP response status is 200' do
|
79
|
+
subject { described_class.create('fromImage' => 'base') }
|
139
80
|
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
.to nil
|
144
|
-
end
|
81
|
+
it 'pushes the Image', :vcr do
|
82
|
+
pending 'I don\'t want to push the Image to the Docker Registry'
|
83
|
+
subject.push
|
145
84
|
end
|
146
85
|
end
|
147
86
|
end
|
148
87
|
|
149
|
-
describe
|
150
|
-
context 'when the
|
88
|
+
describe '#tag' do
|
89
|
+
context 'when the HTTP response status is not 200' do
|
90
|
+
before { Excon.stub({ :method => :post }, { :status => 500 }) }
|
91
|
+
after { Excon.stubs.shift }
|
92
|
+
|
151
93
|
it 'raises an error' do
|
152
|
-
expect { subject.
|
94
|
+
expect { subject.tag }
|
95
|
+
.to raise_error(Docker::Error::ServerError)
|
153
96
|
end
|
154
97
|
end
|
155
98
|
|
156
|
-
context 'when the
|
157
|
-
|
158
|
-
before do
|
159
|
-
subject.stub(:created?).and_return(true)
|
160
|
-
Excon.stub({ :method => :post }, { :status => 500 })
|
161
|
-
end
|
162
|
-
after { Excon.stubs.shift }
|
99
|
+
context 'when the HTTP response status is 200' do
|
100
|
+
subject { described_class.create('fromImage' => 'base') }
|
163
101
|
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
end
|
168
|
-
end
|
169
|
-
|
170
|
-
context 'when the HTTP response status is 200' do
|
171
|
-
subject { described_class.build('from base') }
|
172
|
-
let(:new_image) { subject.insert(:path => '/stallman',
|
173
|
-
:url => 'http://stallman.org') }
|
174
|
-
let(:container) { Docker::Container.new }
|
175
|
-
let(:ls_output) do
|
176
|
-
container.tap(&:start)
|
177
|
-
.attach(:stream => true, :stdout => true)
|
178
|
-
.split("\n")
|
179
|
-
end
|
180
|
-
before { container.create!('Image' => new_image.id, 'Cmd' => %w[ls /]) }
|
181
|
-
|
182
|
-
it 'inserts the url\'s file into a new Image', :vcr do
|
183
|
-
ls_output.should include('stallman')
|
184
|
-
end
|
102
|
+
it 'tags the image with the repo name', :vcr do
|
103
|
+
expect { subject.tag(:repo => 'base2', :force => true) }
|
104
|
+
.to_not raise_error
|
185
105
|
end
|
186
106
|
end
|
187
107
|
end
|
188
108
|
|
189
|
-
describe
|
190
|
-
context 'when the
|
109
|
+
describe '#json' do
|
110
|
+
context 'when the HTTP response status is not 200' do
|
111
|
+
before do
|
112
|
+
subject.stub(:created?).and_return(true)
|
113
|
+
Excon.stub({ :method => :get }, { :status => 500 })
|
114
|
+
end
|
115
|
+
after { Excon.stubs.shift }
|
116
|
+
|
191
117
|
it 'raises an error' do
|
192
|
-
expect { subject.
|
118
|
+
expect { subject.json }
|
119
|
+
.to raise_error(Docker::Error::ServerError)
|
193
120
|
end
|
194
121
|
end
|
195
122
|
|
196
|
-
context 'when the
|
197
|
-
|
198
|
-
|
199
|
-
subject.stub(:created?).and_return(true)
|
200
|
-
Excon.stub({ :method => :post }, { :status => 500 })
|
201
|
-
end
|
202
|
-
after { Excon.stubs.shift }
|
123
|
+
context 'when the HTTP response status is 200' do
|
124
|
+
subject { described_class.create('fromImage' => 'base') }
|
125
|
+
let(:json) { subject.json }
|
203
126
|
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
end
|
208
|
-
end
|
209
|
-
|
210
|
-
context 'when the HTTP response status is 200' do
|
211
|
-
it 'pushes the Image', :vcr do
|
212
|
-
pending 'I don\'t want to push the Image to the Docker Registry'
|
213
|
-
subject.create!('fromImage' => 'base')
|
214
|
-
subject.push
|
215
|
-
end
|
127
|
+
it 'returns additional information about image image', :vcr do
|
128
|
+
json.should be_a Hash
|
129
|
+
json.length.should_not be_zero
|
216
130
|
end
|
217
131
|
end
|
218
132
|
end
|
219
133
|
|
220
|
-
describe
|
221
|
-
context 'when the
|
134
|
+
describe '#history' do
|
135
|
+
context 'when the HTTP response status is not 200' do
|
136
|
+
before { Excon.stub({ :method => :get }, { :status => 500 }) }
|
137
|
+
after { Excon.stubs.shift }
|
138
|
+
|
222
139
|
it 'raises an error' do
|
223
|
-
expect { subject.
|
140
|
+
expect { subject.history }
|
141
|
+
.to raise_error(Docker::Error::ServerError)
|
224
142
|
end
|
225
143
|
end
|
226
144
|
|
227
|
-
context 'when the
|
228
|
-
|
229
|
-
|
230
|
-
subject.stub(:created?).and_return(true)
|
231
|
-
Excon.stub({ :method => :post }, { :status => 500 })
|
232
|
-
end
|
233
|
-
after { Excon.stubs.shift }
|
234
|
-
|
235
|
-
it 'raises an error' do
|
236
|
-
expect { subject.tag }
|
237
|
-
.to raise_error(Docker::Error::ServerError)
|
238
|
-
end
|
239
|
-
end
|
145
|
+
context 'when the HTTP response status is 200' do
|
146
|
+
subject { described_class.create('fromImage' => 'base') }
|
147
|
+
let(:history) { subject.history }
|
240
148
|
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
expect { subject.tag(:repo => 'base2', :force => true) }
|
246
|
-
.to_not raise_error
|
247
|
-
end
|
149
|
+
it 'returns the history of the Image', :vcr do
|
150
|
+
history.should be_a Array
|
151
|
+
history.length.should_not be_zero
|
152
|
+
history.should be_all { |elem| elem.is_a? Hash }
|
248
153
|
end
|
249
154
|
end
|
250
155
|
end
|
251
156
|
|
252
|
-
describe
|
253
|
-
|
254
|
-
|
255
|
-
expect { subject.json }.to raise_error Docker::Error::StateError
|
256
|
-
end
|
257
|
-
end
|
157
|
+
describe '#run' do
|
158
|
+
subject { described_class.create('fromImage' => 'base') }
|
159
|
+
let(:output) { subject.run(cmd).attach }
|
258
160
|
|
259
|
-
context 'when the
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
Excon.stub({ :method => :get }, { :status => 500 })
|
264
|
-
end
|
265
|
-
after { Excon.stubs.shift }
|
266
|
-
|
267
|
-
it 'raises an error' do
|
268
|
-
expect { subject.json }
|
269
|
-
.to raise_error(Docker::Error::ServerError)
|
270
|
-
end
|
161
|
+
context 'when the argument is a String', :vcr do
|
162
|
+
let(:cmd) { 'ls /lib64/' }
|
163
|
+
it 'splits the String by spaces and creates a new Container' do
|
164
|
+
output.should == "ld-linux-x86-64.so.2\n"
|
271
165
|
end
|
166
|
+
end
|
272
167
|
|
273
|
-
|
274
|
-
|
275
|
-
before { subject.create!('fromImage' => 'base') }
|
168
|
+
context 'when the argument is an Array' do
|
169
|
+
let(:cmd) { %[which pwd] }
|
276
170
|
|
277
|
-
|
278
|
-
|
279
|
-
json.length.should_not be_zero
|
280
|
-
end
|
171
|
+
it 'creates a new Container', :vcr do
|
172
|
+
output.should == "/bin/pwd\n"
|
281
173
|
end
|
282
174
|
end
|
283
175
|
end
|
284
176
|
|
285
|
-
describe
|
286
|
-
|
177
|
+
describe '.create' do
|
178
|
+
subject { described_class }
|
179
|
+
|
180
|
+
context 'when the body is not a Hash' do
|
287
181
|
it 'raises an error' do
|
288
|
-
expect { subject.
|
182
|
+
expect { subject.create(:not_a_hash) }
|
183
|
+
.to raise_error(Docker::Error::ArgumentError)
|
289
184
|
end
|
290
185
|
end
|
291
186
|
|
292
|
-
context 'when the Image
|
293
|
-
context 'when the HTTP
|
294
|
-
before
|
295
|
-
subject.stub(:created?).and_return(true)
|
296
|
-
Excon.stub({ :method => :get }, { :status => 500 })
|
297
|
-
end
|
187
|
+
context 'when the Image does not yet exist and the body is a Hash' do
|
188
|
+
context 'when the HTTP request does not return a 200' do
|
189
|
+
before { Excon.stub({ :method => :post }, { :status => 400 }) }
|
298
190
|
after { Excon.stubs.shift }
|
299
191
|
|
300
192
|
it 'raises an error' do
|
301
|
-
expect { subject.
|
302
|
-
.to raise_error(Docker::Error::ServerError)
|
193
|
+
expect { subject.create }.to raise_error(Docker::Error::ClientError)
|
303
194
|
end
|
304
195
|
end
|
305
196
|
|
306
|
-
context 'when the HTTP
|
307
|
-
let(:
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
history.should be_a Array
|
312
|
-
history.length.should_not be_zero
|
313
|
-
history.should be_all { |elem| elem.is_a? Hash }
|
197
|
+
context 'when the HTTP request returns a 200' do
|
198
|
+
let(:image) { subject.create('fromImage' => 'base') }
|
199
|
+
it 'sets the id', :vcr do
|
200
|
+
image.should be_a Docker::Image
|
201
|
+
image.id.should_not be_nil
|
314
202
|
end
|
315
203
|
end
|
316
204
|
end
|
@@ -359,7 +247,8 @@ describe Docker::Image do
|
|
359
247
|
|
360
248
|
context 'when the HTTP response is a 200' do
|
361
249
|
let(:images) { subject.all(:all => true) }
|
362
|
-
before { subject.
|
250
|
+
before { subject.create('fromImage' => 'base') }
|
251
|
+
|
363
252
|
it 'materializes each Image into a Docker::Image', :vcr do
|
364
253
|
images.should be_all { |image|
|
365
254
|
!image.id.nil? && image.is_a?(described_class)
|
@@ -384,7 +273,6 @@ describe Docker::Image do
|
|
384
273
|
|
385
274
|
context 'when the HTTP response is a 200' do
|
386
275
|
it 'materializes each Image into a Docker::Image', :vcr do
|
387
|
-
subject.new.create!('fromImage' => 'base')
|
388
276
|
subject.search('term' => 'sshd').should be_all { |image|
|
389
277
|
!image.id.nil? && image.is_a?(described_class)
|
390
278
|
}
|
@@ -412,7 +300,7 @@ describe Docker::Image do
|
|
412
300
|
end
|
413
301
|
end
|
414
302
|
|
415
|
-
describe '.build_from_dir'
|
303
|
+
describe '.build_from_dir' do
|
416
304
|
subject { described_class }
|
417
305
|
|
418
306
|
context 'with a valid Dockerfile' do
|
@@ -420,13 +308,11 @@ describe Docker::Image do
|
|
420
308
|
let(:docker_file) { File.new("#{dir}/Dockerfile") }
|
421
309
|
let(:image) { subject.build_from_dir(dir) }
|
422
310
|
let(:container) do
|
423
|
-
Docker::Container.
|
424
|
-
|
311
|
+
Docker::Container.create('Image' => image.id,
|
312
|
+
'Cmd' => %w[cat /Dockerfile])
|
425
313
|
end
|
426
314
|
let(:output) { container.tap(&:start)
|
427
|
-
.attach(:
|
428
|
-
:stdout => true,
|
429
|
-
:stderr => true) }
|
315
|
+
.attach(:stderr => true) }
|
430
316
|
|
431
317
|
it 'builds the image', :vcr do
|
432
318
|
pending 'webmock / vcr issue'
|