2.6 KiB
- title
- Base commands
- description
- Common usage and commands
- keywords
- Examples, Usage
The basics
Starting Docker
If you have used one of the quick install paths', Docker may have
been installed with upstart, Ubuntu's system for starting processes at
boot time. You should be able to run docker help and get
output.
If you get docker: command not found or something like
/var/lib/docker/repositories: permission denied you will
need to specify the path to it and manually start it.
# Run docker in daemon mode
sudo <path to>/docker -d &Running an interactive shell
# Download a base image
docker pull base
# Run an interactive shell in the base image,
# allocate a tty, attach stdin and stdout
docker run -i -t base /bin/bashStarting a long-running worker process
# Start a very useful long-running process
JOB=$(docker run -d base /bin/sh -c "while true; do echo Hello world; sleep 1; done")
# Collect the output of the job so far
docker logs $JOB
# Kill the job
docker kill $JOBListing all running containers
docker psExpose a service on a TCP port
# Expose port 4444 of this container, and tell netcat to listen on it
JOB=$(docker run -d -p 4444 base /bin/nc -l -p 4444)
# Which public port is NATed to my container?
PORT=$(docker port $JOB 4444)
# Connect to the public port via the host's public address
# Please note that because of how routing works connecting to localhost or 127.0.0.1 $PORT will not work.
IP=$(ifconfig eth0 | perl -n -e 'if (m/inet addr:([\d\.]+)/g) { print $1 }')
echo hello world | nc $IP $PORT
# Verify that the network connection worked
echo "Daemon received: $(docker logs $JOB)"Committing (saving) a container state
Save your containers state to a container image, so the state can be re-used.
When you commit your container only the differences between the image
the container was created from and the current state of the container
will be stored (as a diff). See which images you already have using
docker images
# Commit your container to a new named image
docker commit <container_id> <some_name>
# List your containers
docker imagesYou now have a image state from which you can create new instances.
Read more about working_with_the_repository or continue to the
complete cli