1
0
mirror of https://github.com/moby/moby.git synced 2025-12-10 21:42:47 +03:00
Files
moby/docs/sources/examples/hello_world.rst
Solomon Hykes ae2af201f3 Docs: fix capitalization of "Docker"
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-01-21 07:27:55 +00:00

4.6 KiB

title
Hello world example
description
A simple hello world example with Docker
keywords
docker, example, hello world

Hello World

Check your Docker install

This guide assumes you have a working installation of Docker. To check your Docker install, run the following command:

# Check that you have a working install
docker info

If you get docker: command not found or something like /var/lib/docker/repositories: permission denied you may have an incomplete Docker installation or insufficient privileges to access docker on your machine.

Please refer to installation_list for installation instructions.

Hello World

This is the most basic example available for using Docker.

Download the base image which is named ubuntu:

# Download an ubuntu image
sudo docker pull ubuntu

Alternatively to the ubuntu image, you can select busybox, a bare minimal Linux system. The images are retrieved from the Docker repository.

sudo docker run ubuntu /bin/echo hello world

This command will run a simple echo command, that will echo hello world back to the console over standard out.

Explanation:

  • "sudo" execute the following commands as user root
  • "docker run" run a command in a new container
  • "ubuntu" is the image we want to run the command inside of.
  • "/bin/echo" is the command we want to run in the container
  • "hello world" is the input for the echo command

Video:

See the example in action


Hello World Daemon

And now for the most boring daemon ever written!

We will use the Ubuntu image to run a simple hello world daemon that will just print hello world to standard out every second. It will continue to do this until we stop it.

Steps:

CONTAINER_ID=$(sudo docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done")

We are going to run a simple hello world daemon in a new container made from the ubuntu image.

  • "sudo docker run -d " run a command in a new container. We pass "-d" so it runs as a daemon.
  • "ubuntu" is the image we want to run the command inside of.
  • "/bin/sh -c" is the command we want to run in the container
  • "while true; do echo hello world; sleep 1; done" is the mini script we want to run, that will just print hello world once a second until we stop it.
  • $CONTAINER_ID the output of the run command will return a container id, we can use in future commands to see what is going on with this process.
sudo docker logs $CONTAINER_ID

Check the logs make sure it is working correctly.

  • "docker logs" This will return the logs for a container
  • $CONTAINER_ID The Id of the container we want the logs for.
sudo docker attach -sig-proxy=false $CONTAINER_ID

Attach to the container to see the results in real-time.

  • "docker attach" This will allow us to attach to a background process to see what is going on.
  • "-sig-proxy=false" Do not forward signals to the container; allows us to exit the attachment using Control-C without stopping the container.
  • $CONTAINER_ID The Id of the container we want to attach too.

Exit from the container attachment by pressing Control-C.

sudo docker ps

Check the process list to make sure it is running.

  • "docker ps" this shows all running process managed by docker
sudo docker stop $CONTAINER_ID

Stop the container, since we don't need it anymore.

  • "docker stop" This stops a container
  • $CONTAINER_ID The Id of the container we want to stop.
sudo docker ps

Make sure it is really stopped.

Video:

See the example in action

The next example in the series is a python_web_app example, or you could skip to any of the other examples:

  • python_web_app
  • nodejs_web_app
  • running_redis_service
  • running_ssh_service
  • running_couchdb_service
  • postgresql_service
  • mongodb_image