Browse code

README: remove original shipping containers 'manifesto'. It's a little long to stay here.

Solomon Hykes authored on 2013/09/07 07:09:40
Showing 1 changed files
... ...
@@ -188,142 +188,6 @@ They are probably not perfect, please let us know if anything feels
188 188
 wrong or incomplete.
189 189
 
190 190
 
191
-Note
192
-
193
-We also keep the documentation in this repository. The website
194
-documentation is generated using Sphinx using these sources.  Please
195
-find it under docs/sources/ and read more about it
196
-https://github.com/dotcloud/docker/tree/master/docs/README.md
197
-
198
-Please feel free to fix / update the documentation and send us pull
199
-requests. More tutorials are also welcome.
200
-
201
-
202
-Setting up a dev environment
203
-
204
-Instructions that have been verified to work on Ubuntu 12.10,
205
-
206
-```bash
207
-sudo apt-get -y install lxc curl xz-utils golang git mercurial
208
-
209
-export GOPATH=~/go/
210
-export PATH=$GOPATH/bin:$PATH
211
-
212
-mkdir -p $GOPATH/src/github.com/dotcloud
213
-cd $GOPATH/src/github.com/dotcloud
214
-git clone https://github.com/dotcloud/docker.git
215
-cd docker
216
-
217
-go get -v github.com/dotcloud/docker/...
218
-go install -v github.com/dotcloud/docker/...
219
-```
220
-
221
-Then run the docker daemon,
222
-
223
-```bash
224
-sudo $GOPATH/bin/docker -d
225
-```
226
-
227
-Run the `go install` command (above) to recompile docker.
228
-
229
-
230
-What is a Standard Container?
231
-=============================
232
-
233
-Docker defines a unit of software delivery called a Standard
234
-Container. The goal of a Standard Container is to encapsulate a
235
-software component and all its dependencies in a format that is
236
-self-describing and portable, so that any compliant runtime can run it
237
-without extra dependencies, regardless of the underlying machine and
238
-the contents of the container.
239
-
240
-The spec for Standard Containers is currently a work in progress, but
241
-it is very straightforward. It mostly defines 1) an image format, 2) a
242
-set of standard operations, and 3) an execution environment.
243
-
244
-A great analogy for this is the shipping container. Just like how
245
-Standard Containers are a fundamental unit of software delivery,
246
-shipping containers are a fundamental unit of physical delivery.
247
-
248
-### 1. STANDARD OPERATIONS
249
-
250
-Just like shipping containers, Standard Containers define a set of
251
-STANDARD OPERATIONS. Shipping containers can be lifted, stacked,
252
-locked, loaded, unloaded and labelled. Similarly, Standard Containers
253
-can be started, stopped, copied, snapshotted, downloaded, uploaded and
254
-tagged.
255
-
256
-
257
-### 2. CONTENT-AGNOSTIC
258
-
259
-Just like shipping containers, Standard Containers are
260
-CONTENT-AGNOSTIC: all standard operations have the same effect
261
-regardless of the contents. A shipping container will be stacked in
262
-exactly the same way whether it contains Vietnamese powder coffee or
263
-spare Maserati parts. Similarly, Standard Containers are started or
264
-uploaded in the same way whether they contain a postgres database, a
265
-php application with its dependencies and application server, or Java
266
-build artifacts.
267
-
268
-
269
-### 3. INFRASTRUCTURE-AGNOSTIC
270
-
271
-Both types of containers are INFRASTRUCTURE-AGNOSTIC: they can be
272
-transported to thousands of facilities around the world, and
273
-manipulated by a wide variety of equipment. A shipping container can
274
-be packed in a factory in Ukraine, transported by truck to the nearest
275
-routing center, stacked onto a train, loaded into a German boat by an
276
-Australian-built crane, stored in a warehouse at a US facility,
277
-etc. Similarly, a standard container can be bundled on my laptop,
278
-uploaded to S3, downloaded, run and snapshotted by a build server at
279
-Equinix in Virginia, uploaded to 10 staging servers in a home-made
280
-Openstack cluster, then sent to 30 production instances across 3 EC2
281
-regions.
282
-
283
-
284
-### 4. DESIGNED FOR AUTOMATION
285
-
286
-Because they offer the same standard operations regardless of content
287
-and infrastructure, Standard Containers, just like their physical
288
-counterparts, are extremely well-suited for automation. In fact, you
289
-could say automation is their secret weapon.
290
-
291
-Many things that once required time-consuming and error-prone human
292
-effort can now be programmed. Before shipping containers, a bag of
293
-powder coffee was hauled, dragged, dropped, rolled and stacked by 10
294
-different people in 10 different locations by the time it reached its
295
-destination. 1 out of 50 disappeared. 1 out of 20 was damaged. The
296
-process was slow, inefficient and cost a fortune - and was entirely
297
-different depending on the facility and the type of goods.
298
-
299
-Similarly, before Standard Containers, by the time a software
300
-component ran in production, it had been individually built,
301
-configured, bundled, documented, patched, vendored, templated, tweaked
302
-and instrumented by 10 different people on 10 different
303
-computers. Builds failed, libraries conflicted, mirrors crashed,
304
-post-it notes were lost, logs were misplaced, cluster updates were
305
-half-broken. The process was slow, inefficient and cost a fortune -
306
-and was entirely different depending on the language and
307
-infrastructure provider.
308
-
309
-
310
-### 5. INDUSTRIAL-GRADE DELIVERY
311
-
312
-There are 17 million shipping containers in existence, packed with
313
-every physical good imaginable. Every single one of them can be loaded
314
-onto the same boats, by the same cranes, in the same facilities, and
315
-sent anywhere in the World with incredible efficiency. It is
316
-embarrassing to think that a 30 ton shipment of coffee can safely
317
-travel half-way across the World in *less time* than it takes a
318
-software team to deliver its code from one datacenter to another
319
-sitting 10 miles away.
320
-
321
-With Standard Containers we can put an end to that embarrassment, by
322
-making INDUSTRIAL-GRADE DELIVERY of software a reality.
323
-
324
-
325 191
 ### Legal
326 192
 
327 193
 Transfers of Docker shall be in accordance with applicable export