转载请标明出处:
https://blog.csdn.net/forezp/article/details/80098675
本文出自方志朋的博客
本系列教程翻译于docker文档,文档地址:https://docs.docker.com/ ,由于某些原因,docker官方文档通常都是打不开,如果打不开,安装完docker之后,可以拉取docker文档的镜像在本地跑。安装docker完成后,输入一下命令:
docker run -it -d -p 4000:4000 docs/docker.github.io:latest
在浏览器上打开localhost:4000就可以看docker 的文档了。
本系列教程的翻译于2018年4月份,当时的docker版本为V18.03
Docker的相关概念
Docker 是一个为开发者和运维者去开发、发布和在容器中运行应用的平台。使用Linux容器来部署应用程序被称为容器化。 容器不是新的概念,它的优势在于很容易发布一个应用。
容器化变得非常的流行,因为容器化具有以下的优点:
- 灵活:即使最复杂的应用也能够被容器化。
- 轻量:容器最大化利用和分享主机的内核。
- 可互换:你可以即时部署更新和升级应用。
- 便捷:你可以在本地构建应用,并部署到容器云,并在任何地方运行。
- 可扩展: 你可以增加和自动分发容器的个数。
- 可堆叠:您可以垂直堆叠服务并即时堆叠服务。
镜像和容器
容器是通过运行一个镜像来启动的。镜像是一个可执行程序包,其中包含运行应用程序所需的所有内容 - 代码,运行时库,环境变量和配置文件。
容器是一个镜像的运行时实例,容器是一个在内存中运行的镜像(这就是,一个镜像有了状态,或者一个用户进程)。你可以通过像linux环境敲打一个docker ps来查看一系列正在运行的容器。
容器和虚拟机
一个容器是在linux服务本地运行,并和其他的容器共享主机的内核。它运行在一个独立的进程中,相对于其他可执行的进程(比如虚拟机)来说,容器的内存占用空间更小,更加的轻量化。
相比之下,虚拟机(VM)运行一个完整的“客户”操作系统,通过虚拟机管理程序虚拟访问主机资源。 一般来说,虚拟机提供的环境比大多数应用程序需要的资源更多。
准备你的Docker环境
安装docker请看官方网站。
centos安装:
yum -y install docker-io
启动:
service docker start
更多系统的安装请看官网。
测试Docker版本
- 运行 docker –version 命令,并确保你安装的Dokcer版本支持改命令:
docker --version
Docker version 17.12.0-ce, build c97c6d6
- 运行docker info (docker version 没有–)命令,查看更多的docker的安装信息。3.
docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 17.12.0-ce
Storage Driver: overlay2
...
测试docker安装成功
1. 运行一个简单的docker镜像(hello world)来测试docker 安装成功了。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. 列出在你机器上下载的hello world镜像。
docker image ls
3. 列出退出的hello-world容器(由镜像产生)。如果它仍在运行,则不需要–all选项:
docker container ls --all
CONTAINER ID IMAGE COMMAND CREATED STATUS
54f4984ed6a8 hello-world "/hello" 20 seconds ago Exited (0) 19 seconds ago
命令回顾
## 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
总结
使用Docker,扩展应用程序的过程就是启动新的可执行文件,而不是运行繁重的VM主机。