1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/docs/sources/userguide/level2.md
Nathan Hsieh c257dcc9a4 Squashed commit of the following:
commit 3f9e9185fe7ee51f2fe55f0fc0d4fffdc4f289dc
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Mon Oct 6 10:57:35 2014 -0700

    changed the title of back buttons

commit f86934424e85931ec293e711ceaa93ee920828fb
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Mon Oct 6 10:53:15 2014 -0700

    Finished level 2, refactored tests

commit 8f502bce05293cccaf200b69ce5f5826eee72484
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Mon Oct 6 08:52:37 2014 -0700

    stylized better and added level 2

commit 07b2276b346c34c0cc0faa57500c40e120e77888
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Fri Oct 3 18:17:29 2014 -0700

    broke tutorial tests styles

commit 35d84147dc2f65b0ffeea5faf304add903219b1e
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Fri Oct 3 17:23:48 2014 -0700

    structured test level1 md file

commit 808d01b0d55d67eb1017f290a29da6c7d38565f2
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Fri Oct 3 17:15:46 2014 -0700

    Modified files and integrated tutorial through new page

commit 0f0093f2882489c3eeb6f8870f2b8aa64dc939a3
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Thu Oct 2 14:34:44 2014 -0700

    more refactoring

commit 5a9b98e55ebd455ccf2c0ced20f984545a0b6d71
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Thu Oct 2 11:46:58 2014 -0700

    clean js code

commit af3bbd8d5e1dffdaa1780f83b909ff566906e513
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Thu Oct 2 11:26:39 2014 -0700

    level 1 cleanup

commit c4852a7766ab4fbd978d65c8352ace05eb427ef5
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Thu Oct 2 11:20:17 2014 -0700

    fixed up fill-in level1

commit 7f02d80942549dec9c05f784b777fcb32d5bb81b
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Wed Oct 1 17:45:42 2014 -0700

    added dockerfile tut, stylized lesson1 Questions

Signed-off-by: Nathan Hsieh <hsieh.nathan@gmail.com>
2014-10-08 13:46:44 -07:00

6.7 KiB

page_title: Docker Images Test page_description: How to work with Docker images. page_keywords: documentation, docs, the docker guide, docker guide, docker, docker platform, virtualization framework, docker.io, Docker images, Docker image, image management, Docker repos, Docker repositories, docker, docker tag, docker tags, Docker Hub, collaboration

Back

#Test Yourself

Test your Dockerfile skills - Level 2

Questions:

What is the Dockerfile instruction to specify the base image?
The right answer was FROM

Which Dockerfile instruction sets the default command for your image?
The right answer was ENTRYPOINT or CMD

What is the character used to add comments in Dockerfiles?
The right answer was #

Which Dockerfile instruction sets the username to use when running the image?
The right answer was USER

What is the Dockerfile instruction to execute any command on the current image and commit the results?
The right answer was RUN

Which Dockerfile instruction sets ports to be exposed when running the image?
The right answer was EXPOSE

What is the Dockerfile instruction to specify the maintainer of the Dockerfile?
The right answer was MAINTAINER

Which Dockerfile instruction lets you trigger a command as soon as the container starts?
The right answer was ENTRYPOINT or CMD

<div class="alert alert-success" id="all_good" style="display:none;">Congratulations, you made no mistake!<br />
Tell the world <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.docker.io/learn/dockerfile/level1/" data-text="I just successfully answered questions of the #Dockerfile tutorial Level 1. What's your score?" data-via="docker" >Tweet</a><br />
And try the next challenge: <a href="#fill_the_dockerfile">Fill the Dockerfile</a>
</div>
<div class="alert alert-error" id="no_good" style="display:none;">Your Dockerfile skills are not yet perfect, try to take the time to read this tutorial again.</div>
<div class="alert alert-block" id="some_good" style="display:none;">You're almost there! Read carefully the sections corresponding to your errors, and take the test again!</div>
</p>
<button class="btn btn-primary" id="check_level2_questions">Check your answers</button>

Fill the Dockerfile


Your best friend Roberto Hashioka sent you a Dockerfile, but some parts were lost in the ocean. Can you find the missing parts?
# Redis
#
# VERSION       0.42
#
# use the ubuntu base image provided by dotCloud
  ub
MAINT Ro Ha roberto.hashioka@dotcloud.com
# make sure the package repository is up to date echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list apt-get update
# install wget (required for redis installation) apt-get install -y wget
# install make (required for redis installation) apt-get install -y make
# install gcc (required for redis installation) RUN apt-get install -y
# install apache2 wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable && make && make install
# launch redis when starting the image ["redis-server"]
# run as user dameon daemon
# expose port 6379 6379
Congratulations, you successfully restored Roberto's Dockerfile! You are ready to containerize the world!.
Tell the world! Tweet
Wooops, there are one or more errors in the Dockerfile. Try again.

What's next?

Thanks for going through our tutorial! We will be posting Level 3 shortly. Follow us on twitter
Follow @docker

In the meantime, check out this blog post by Michael Crosby that describes Dockerfile Best Practices.

Back to the Docs!