docker入门教程可让你学会一下内容:
1. 搭建你的Docker环境(也就是本页内容)
2. 构建一个镜像,并以一个容器的方式运行它
3. 扩展你的应用程序以运行多个容器
4. 跨集群发布你的应用程序
5. 经过添加一个后端数据库来堆叠服务
6. 把你的应用程序部署到生产环境docker
docker是一个用来为开发者和系统管理员提供用容器来开发、部署、运行应用程序的平台。使用Linux容器部署应用程序被称做容器化。容器不是一个新概念,它们的用途是轻松部署应用程序数据库
容器化愈来愈受欢迎,由于容器:
* Flexible 灵活:即便最复杂的应用程序也能够给容器化
* Lightweight 轻量:多个容器能够利用并共享主机内容
* Interchangeable 可替换:你能够快读部署更新和升级
* Portable 便携:你能够在本地构建,而后部署到云,且能够在任何地方运行
* Scalable 可扩展:你能够增长并自动发布容易副本
* Stackable 可堆叠:你能够快速垂直的堆叠服务windows
一个容器经过一个镜像运行起来。镜像是一个可运行的包,它包含运行一个应用程序所需的全部内容——代码、运行时、库文件、环境变量和配置文件。后端
一个容器就是一个镜像的一个运行时实例——镜像在内存中运行时的状态(也就是一个有状态的镜像或者一个用户进程)。运行docker ps
命令后你能够看到一个你正在运行的容器的列表,就好像你在Linux中同样。bash
每个容器天生就能够运行在Linux上并和其余的容器共享主机内核。它运维一个独立的进程,不会比其余可执行程序占用更多内存,这使它变得轻量化。app
相比之下,一个虚拟机(Virtual Machine)运行一个完整的“guest“操做系统,经过一个hypervisor对主机资源进行访问。一般,虚拟机提供的环境,比大多数应用程序须要的资源要多。运维
在支持的平台上安装Docker社区版或企业版的一个还在维护的版本。分布式
完整的 Kubernetes 集成测试
- Kubernetes on Docker for Mac 的有效版本是 17.12 Edge (mac45) 或者 17.12 Stable (mac46) 更高版本.
- Kubernetes on Docker for Windows 的有效版本只有 18.02 Edge (win50) 和更高的版本
安装Docker |
---|
docker --version
并确认你有一个被支持的Docker版本docker --version Docker version 17.12.0-ce, build c97c6d6
docker info
(或者 docker version
)来查看你安装的Docker的更多信息:docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 17.12.0-ce Storage Driver: overlay2 ...
避免权限错误(可以使用
sudo
) 把你的帐户添加到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. ...
hello-world
镜像docker image ls
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
容器化使用 CI/CD 浑然一体,例如:
使用 Docker ,扩展你的应用程序的问题在于启动新的可执行文件,而不是运行臃肿的虚拟机。