Skip to content

Commit eed00a4

Browse files
author
Solomon Hykes
committed
README: remove original shipping containers 'manifesto'. It's a little long to stay here.
1 parent 6679f3b commit eed00a4

File tree

1 file changed

+0
-136
lines changed

1 file changed

+0
-136
lines changed

README.md

Lines changed: 0 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -188,142 +188,6 @@ They are probably not perfect, please let us know if anything feels
188188
wrong or incomplete.
189189

190190

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

329193
Transfers of Docker shall be in accordance with applicable export

0 commit comments

Comments
 (0)