docker学习笔记四:开始-part1.定位和安装

2018-04-20  本文已影响0人  Seaofdesire

https://docs.docker.com/get-started/

Estimated(预计) reading time: 4 minutes

Welcome! We are excited that you want to learn Docker. The Docker Get Started Tutorial teaches you how to:

  1. Set up your Docker environment (on this page)
  2. Build an image and run it as one container
  3. Scale(缩放) your app to run multiple containers
  4. Distribute(分布) your app across a cluster
  5. Stack(堆叠) services by adding a backend(后端的) database
  6. Deploy your app to production

Docker concepts (概念)

Docker is a platform for developers and sysadmins to develop, deploy, and run applications with containers. The use of Linux containers to deploy applications is called containerization (集装箱化). Containers are not new, but their use for easily deploying applications is.

Containerization is increasingly(越来越多地;渐增地) popular because containers are:

Containers are portable

Images and containers

A container is launched by running an image. An image is an executable package that includes everything needed to run an application--the code, a runtime, libraries, environment variables, and configuration files.

A container is a runtime instance of an image--what the image becomes in memory when executed (that is, an image with state, or a user process). You can see a list of your running containers with the command, docker ps, just as you would in Linux.

Containers and virtual machines

A container runs natively on Linux and shares the kernel of the host machine with other containers. It runs a discrete process, taking no more memory than any other executable, making it lightweight.

By contrast, a virtual machine (VM) runs a full-blown “guest” operating system with virtual access to host resources through a hypervisor. In general, VMs provide an environment with more resources than most applications need.

image.png image.png

Prepare your Docker environment

Install a maintained version of Docker Community Edition (CE) or Enterprise Edition (EE) on a supported platform.

For full Kubernetes Integration

Install Docker

Test Docker version

  1. Run docker --version and ensure that you have a supported version of Docker:

    docker --version
    
    Docker version 17.12.0-ce, build c97c6d6
    
    
  2. Run docker info or (docker version without --) to view even more details about your docker installation:

    docker info
    
    Containers: 0
     Running: 0
     Paused: 0
     Stopped: 0
    Images: 0
    Server Version: 17.12.0-ce
    Storage Driver: overlay2
    ...
    
    

To avoid permission errors (and the use of sudo), add your user to the docker group. Read more.

Test Docker installation

  1. Test that your installation works by running the simple Docker image, hello-world:

    docker run hello-world
    
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    ca4f61b1923c: Pull complete
    Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    ...
    
    
  2. List the hello-world image that was downloaded to your machine:

    docker image ls
    
    
  3. List the hello-world container (spawned by the image) which exits after displaying its message. If it were still running, you would not need the --all option:

    docker container ls --all
    
    CONTAINER ID     IMAGE           COMMAND      CREATED            STATUS
    54f4984ed6a8     hello-world     "/hello"     20 seconds ago     Exited (0) 19 seconds ago
    
    

回顾并作弊表? Recap and cheat sheet

## List Docker CLI commands
docker
docker container --help

## Display Docker version and info
docker --version
docker version
docker info

## Execute Docker image
docker run hello-world

## List Docker images
docker image ls

## List Docker containers (running, all, all in quiet mode)
docker container ls
docker container ls --all
docker container ls -aq

Conclusion(结论) of part one

Containerization makes CI/CD seamless(无缝的). For example:

With Docker, scaling(拓展) your application is a matter of spinning up new executables(可执行文件), not running heavy VM hosts.

On to Part 2 >>

上一篇下一篇

猜你喜欢

热点阅读