1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge branch 'master' of github.com:dotcloud/docker

This commit is contained in:
shin- 2013-03-22 04:25:37 -07:00
commit 9fa3d891c6
3 changed files with 75 additions and 60 deletions

View file

@ -58,28 +58,28 @@ Installing on Ubuntu 12.04 and 12.10
1. Install dependencies: 1. Install dependencies:
```bash ```bash
sudo apt-get install lxc wget bsdtar curl sudo apt-get install lxc wget bsdtar curl
sudo apt-get install linux-image-extra-`uname -r` sudo apt-get install linux-image-extra-`uname -r`
``` ```
The `linux-image-extra` package is needed on standard Ubuntu EC2 AMIs in order to install the aufs kernel module. The `linux-image-extra` package is needed on standard Ubuntu EC2 AMIs in order to install the aufs kernel module.
2. Install the latest docker binary: 2. Install the latest docker binary:
```bash ```bash
wget http://get.docker.io/builds/$(uname -s)/$(uname -m)/docker-master.tgz wget http://get.docker.io/builds/$(uname -s)/$(uname -m)/docker-master.tgz
tar -xf docker-master.tgz tar -xf docker-master.tgz
``` ```
3. Run your first container! 3. Run your first container!
```bash ```bash
cd docker-master cd docker-master
sudo ./docker run -a -i -t base /bin/bash sudo ./docker run -a -i -t base /bin/bash
``` ```
Consider adding docker to your `PATH` for simplicity. Consider adding docker to your `PATH` for simplicity.
Installing on other Linux distributions Installing on other Linux distributions
--------------------------------------- ---------------------------------------
@ -99,12 +99,12 @@ with VirtualBox as well as on Amazon EC2. Vagrant 1.1 is required for
EC2, but deploying is as simple as: EC2, but deploying is as simple as:
```bash ```bash
$ export AWS_ACCESS_KEY_ID=xxx \ $ export AWS_ACCESS_KEY_ID=xxx \
AWS_SECRET_ACCESS_KEY=xxx \ AWS_SECRET_ACCESS_KEY=xxx \
AWS_KEYPAIR_NAME=xxx \ AWS_KEYPAIR_NAME=xxx \
AWS_SSH_PRIVKEY=xxx AWS_SSH_PRIVKEY=xxx
$ vagrant plugin install vagrant-aws $ vagrant plugin install vagrant-aws
$ vagrant up --provider=aws $ vagrant up --provider=aws
``` ```
The environment variables are: The environment variables are:
@ -115,11 +115,11 @@ The environment variables are:
* `AWS_SSH_PRIVKEY` - The path to the private key for the named keypair * `AWS_SSH_PRIVKEY` - The path to the private key for the named keypair
For VirtualBox, you can simply ignore setting any of the environment For VirtualBox, you can simply ignore setting any of the environment
variables and omit the ``provider`` flag. VirtualBox is still supported with variables and omit the `provider` flag. VirtualBox is still supported with
Vagrant <= 1.1: Vagrant &lt;= 1.1:
```bash ```bash
$ vagrant up $ vagrant up
``` ```
@ -131,12 +131,12 @@ Running an interactive shell
---------------------------- ----------------------------
```bash ```bash
# Download a base image # Download a base image
docker import base docker import base
# Run an interactive shell in the base image, # Run an interactive shell in the base image,
# allocate a tty, attach stdin and stdout # allocate a tty, attach stdin and stdout
docker run -a -i -t base /bin/bash docker run -a -i -t base /bin/bash
``` ```
@ -144,17 +144,17 @@ Starting a long-running worker process
-------------------------------------- --------------------------------------
```bash ```bash
# Run docker in daemon mode # Run docker in daemon mode
(docker -d || echo "Docker daemon already running") & (docker -d || echo "Docker daemon already running") &
# Start a very useful long-running process # Start a very useful long-running process
JOB=$(docker run base /bin/sh -c "while true; do echo Hello world; sleep 1; done") JOB=$(docker run base /bin/sh -c "while true; do echo Hello world; sleep 1; done")
# Collect the output of the job so far # Collect the output of the job so far
docker logs $JOB docker logs $JOB
# Kill the job # Kill the job
docker kill $JOB docker kill $JOB
``` ```
@ -162,7 +162,7 @@ Listing all running containers
------------------------------ ------------------------------
```bash ```bash
docker ps docker ps
``` ```
@ -170,17 +170,17 @@ Expose a service on a TCP port
------------------------------ ------------------------------
```bash ```bash
# Expose port 4444 of this container, and tell netcat to listen on it # Expose port 4444 of this container, and tell netcat to listen on it
JOB=$(docker run -p 4444 base /bin/nc -l -p 4444) JOB=$(docker run -p 4444 base /bin/nc -l -p 4444)
# Which public port is NATed to my container? # Which public port is NATed to my container?
PORT=$(docker port $JOB 4444) PORT=$(docker port $JOB 4444)
# Connect to the public port via the host's public address # Connect to the public port via the host's public address
echo hello world | nc $(hostname) $PORT echo hello world | nc $(hostname) $PORT
# Verify that the network connection worked # Verify that the network connection worked
echo "Daemon received: $(docker logs $JOB)" echo "Daemon received: $(docker logs $JOB)"
``` ```
Contributing to Docker Contributing to Docker
@ -226,7 +226,7 @@ Setting up a dev environment
Instructions that is verified to work on Ubuntu 12.10, Instructions that is verified to work on Ubuntu 12.10,
``` ```bash
sudo apt-get -y install lxc wget bsdtar curl libsqlite3-dev golang git pkg-config sudo apt-get -y install lxc wget bsdtar curl libsqlite3-dev golang git pkg-config
export GOPATH=~/go/ export GOPATH=~/go/
@ -243,7 +243,7 @@ go install -v github.com/dotcloud/docker/...
Then run the docker daemon, Then run the docker daemon,
``` ```bash
sudo $GOPATH/bin/docker -d sudo $GOPATH/bin/docker -d
``` ```

37
Vagrantfile vendored
View file

@ -1,7 +1,7 @@
# -*- mode: ruby -*- # -*- mode: ruby -*-
# vi: set ft=ruby : # vi: set ft=ruby :
Vagrant.configure("1") do |config| def v10(config)
# All Vagrant configuration is done here. The most common configuration # All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference, # options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com. # please see the online documentation at vagrantup.com.
@ -20,7 +20,7 @@ Vagrant.configure("1") do |config|
# via the IP. Host-only networks can talk to the host machine as well as # via the IP. Host-only networks can talk to the host machine as well as
# any other machines on the same network, but cannot be accessed (through this # any other machines on the same network, but cannot be accessed (through this
# network interface) by any external networks. # network interface) by any external networks.
# config.vm.network :hostonly, "192.168.33.10" config.vm.network :hostonly, "192.168.33.10"
# Assign this VM to a bridged network, allowing you to connect directly to a # Assign this VM to a bridged network, allowing you to connect directly to a
# network using the host's network device. This makes the VM appear as another # network using the host's network device. This makes the VM appear as another
@ -34,6 +34,9 @@ Vagrant.configure("1") do |config|
# Share an additional folder to the guest VM. The first argument is # Share an additional folder to the guest VM. The first argument is
# an identifier, the second is the path on the guest to mount the # an identifier, the second is the path on the guest to mount the
# folder, and the third is the path on the host to the actual folder. # folder, and the third is the path on the host to the actual folder.
if not File.exist? File.expand_path '~/docker'
Dir.mkdir(File.expand_path '~/docker')
end
config.vm.share_folder "v-data", "~/docker", "~/docker" config.vm.share_folder "v-data", "~/docker", "~/docker"
# Enable provisioning with Puppet stand alone. Puppet manifests # Enable provisioning with Puppet stand alone. Puppet manifests
@ -99,21 +102,29 @@ Vagrant.configure("1") do |config|
# chef.validation_client_name = "ORGNAME-validator" # chef.validation_client_name = "ORGNAME-validator"
end end
Vagrant.configure("2") do |config| "#{Vagrant::VERSION}" < "1.1.0" and Vagrant::Config.run do |config|
v10(config)
end
"#{Vagrant::VERSION}" >= "1.1.0" and Vagrant.configure("1") do |config|
v10(config)
end
"#{Vagrant::VERSION}" >= "1.1.0" and Vagrant.configure("2") do |config|
config.vm.provider :aws do |aws| config.vm.provider :aws do |aws|
config.vm.box = "dummy" config.vm.box = "dummy"
config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box" config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
aws.access_key_id = ENV["AWS_ACCESS_KEY_ID"] aws.access_key_id = ENV["AWS_ACCESS_KEY_ID"]
aws.secret_access_key = ENV["AWS_SECRET_ACCESS_KEY"] aws.secret_access_key = ENV["AWS_SECRET_ACCESS_KEY"]
aws.keypair_name = ENV["AWS_KEYPAIR_NAME"] aws.keypair_name = ENV["AWS_KEYPAIR_NAME"]
aws.ssh_private_key_path = ENV["AWS_SSH_PRIVKEY"] aws.ssh_private_key_path = ENV["AWS_SSH_PRIVKEY"]
aws.region = "us-east-1" aws.region = "us-east-1"
aws.ami = "ami-1c1e8075" aws.ami = "ami-1c1e8075"
aws.ssh_username = "vagrant" aws.ssh_username = "vagrant"
aws.instance_type = "t1.micro" aws.instance_type = "t1.micro"
end end
config.vm.provider :virtualbox do |vb| config.vm.provider :virtualbox do |vb|
config.vm.box = "quantal64_3.5.0-25" config.vm.box = "quantal64_3.5.0-25"
config.vm.box_url = "http://get.docker.io/vbox/ubuntu/12.10/quantal64_3.5.0-25.box" config.vm.box_url = "http://get.docker.io/vbox/ubuntu/12.10/quantal64_3.5.0-25.box"
end end
end end

4
docs/README.md Normal file
View file

@ -0,0 +1,4 @@
Docs readme
===========
Let's see if this file shows up as we hope it does.