Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hunting Moby Dick: An introduction to Docker at LIPN

Hunting Moby Dick: An introduction to Docker at LIPN

Jaime Arias Almeida

February 22, 2019
Tweet

More Decks by Jaime Arias Almeida

Other Decks in Programming

Transcript

  1. Hunting Moby Dick: An
    Introduction to Docker
    Jaime Arias
    2019

    View Slide

  2. Introduction
    Why Docker ?
    1
    2

    View Slide

  3. Why Docker
    ◎ “Dockerized” apps are completely portable
    and can run anywhere.
    ◎ Developers can automate their build
    pipeline and share artifacts with Docker
    Hub.
    ◎ “Dockerized” apps are isolated from their
    surroundings.
    “W ” - ”
    “I f USB ” - ”
    “T f O 4. I 4. ” - ”
    3

    View Slide

  4. Why Docker
    4

    View Slide

  5. Installation
    https://docs.docker.com/install/
    2
    5

    View Slide

  6. Download & Installation
    N
    6
    :// . / - -
    :// . / -

    View Slide

  7. OSX Installation
    7

    View Slide

  8. OSX Installation
    8

    View Slide

  9. OSX Configuration
    9

    View Slide

  10. Ubuntu Installation
    Link: https://tinyurl.com/docker-ubuntu
    1. Update the apt package index
    2. Install packages to allow apt to use a repository over HTTPS
    10

    View Slide

  11. Ubuntu Installation
    Link: https://tinyurl.com/docker-ubuntu
    3. Add Docker’s official GPG key:
    4. Use the following command to set up the stable repository.
    11

    View Slide

  12. Ubuntu Installation
    Link: https://tinyurl.com/docker-ubuntu
    1. Update the apt package index
    2. Install the latest version of Docker CE
    3. Add your user to the docker group
    12

    View Slide

  13. Testing Installation
    13

    View Slide

  14. Resources
    14
    1. awesome-docker:
    https://github.com/veggiemonk/awesome-docker
    2. GUIs:
    ◉ Kitematic: https://github.com/docker/kitematic
    ◉ Portainer: http://portainer.io
    ◉ DockStation: https://dockstation.io
    ◉ Dockly: https://github.com/lirantal/dockly

    View Slide

  15. Basic Commands
    https://tinyurl.com/docker-commands
    3
    15

    View Slide

  16. Basic Commands
    docker COMMAND --help
    Print COMMAND usage.
    docker pull NAME[:TAG]
    Pull an image or a repository
    from Docker Hub to the machine.
    docker images
    Show all top level images, their
    repository and tags, and their
    size.
    docker rmi IMAGE
    Remove one or more images.
    16

    View Slide

  17. Basic Example
    17
    :// . . /

    View Slide

  18. Basic Example
    18

    View Slide

  19. Basic Commands
    19

    View Slide

  20. Basic Commands
    docker run --rm [OPTIONS] IMAGE [COMMAND] [ARGS]
    Run a COMMAND with specific ARGS in a new container.
    OPTIONS
    ◎ --detach, -d Run container in background and print container ID
    ◎ --env, -e Set environment variables
    ◎ --interactive, -i Keep STDIN open
    ◎ --name Assign a name to the container
    ◎ --publish, -p Publish a container’s port(s) to the host
    ◎ --rm Automatically remove the container when it exits
    ◎ --tty, -t Allocate a pseudo-TTY
    ◎ --volume, -v Bind mount a volume
    20

    View Slide

  21. Basic Example
    21

    View Slide

  22. Basic Example
    22

    View Slide

  23. Basic Example
    23
    :// . . / /f /

    View Slide

  24. Basic Example
    24
    git clone https://depot.lipn.univ-paris13.fr/lipn-tutorials/docker.git ${HOME}/php_files

    View Slide

  25. Basic Commands
    docker exec CONTAINER
    Run a command in a running
    container.
    docker ps -a
    List the running containers.
    docker stop CONTAINER
    Stop one or more running
    containers.
    docker rm -f CONTAINER
    Remove one or more containers
    25

    View Slide

  26. Basic Example
    26

    View Slide

  27. Create a Docker Image
    https://tinyurl.com/dockerfile-ref
    4
    27

    View Slide

  28. Dockerfile
    28

    View Slide

  29. Build & Publish
    Build
    1. Create a Dockerfile (recipe)
    2. Build an image from the Dockerfile in the
    current directory and tag it
    Publish
    1. Retag a local image for a private registry
    2. Log in to a registry (https://hub.docker.com)
    3. Push an image to the registry (upload)
    29

    View Slide

  30. Basic Commands
    docker build -t NAME[:TAG] PATH
    Build an image from a Dockerfile.
    docker login [SERVER]
    Log in to a Docker registry
    docker push NAME[:TAG]
    Push an image or a repository to a
    registry
    docker tag SOURCE TARGET
    Create a tag TARGET_IMAGE that
    refers to SOURCE_IMAGE
    30

    View Slide

  31. Basic Example
    31

    View Slide

  32. Thank you!
    Any questions?
    32
    :// . / / - -

    View Slide

  33. Credits
    Special thanks to all the people
    who made and released these
    awesome resources for free:
    ◎ Presentation template by
    SlidesCarnival
    ◎ Photographs by Unsplash
    33

    View Slide