docker容器用来干嘛的,容器docker 能干什么

首页 > 经验 > 作者:YD1662022-11-09 07:57:02

简介

如果要用一句话概括Docker是什么,那么可以说【Docker是一个轻量级的,可以将应用程序及其依赖打包到容器中的工具,并且能够使得这个容器几乎可以在任何服务器上运行】。但是基于上面这个简介抽象的表述,我们真正想要理解 Docker具体是什么之前,首先还是得先区分清楚【容器】和【虚拟机】的区别。

我们用的传统虚拟机如 VMware , VisualBox 之类的需要模拟整台机器包括硬件。每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给它的资源将全部被占用。每一台虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统。

而容器技术是和我们的宿主机共享硬件资源及操作系统,可以实现资源的动态分配。容器包含应用和其所有的依赖包,但是与其他容器共享内核。容器在宿主机操作系统中,在用户空间以分离的进程运行。
容器技术作为实现操作系统虚拟化的一种途径,可以让我们在资源受到隔离的进程中运行应用程序及其依赖关系。通过使用容器,我们可以轻松打包应用程序的代码、配置和依赖关系,将其变成容易使用的构建块。同时容器技术可以帮助我们保证应用程序快速、可靠、一致地部署,其间不受部署环境的影响。
所以容器技术实际上赋予了我们对资源更多的精细化控制能力,让我们的基础设施效率更高,从而实现环境一致性、运营效率、开发人员生产力和版本控制等诸多目标。下面这幅图,我们可以很直观地反映出这两者的区别所在:

docker容器用来干嘛的,容器docker 能干什么(1)

Docker 作为 Linux 容器的一种封装,提供简单易用的容器使用接口,是目前最流行的 Linux 容器解决方案。它将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker ,就不用担心环境问题。
总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

Docker 包括三个基本概念:

命令

我们需要拉取一个 Docker 镜像,可以用如下命令

docker pull image_name:lastest

image_name:是镜像的名称,镜像名称后面带的:后缀是版本号,lastest代表最新。Docker Daemon 发现本地没有我们需要的镜像,会自动去 Docker Hub 上去下载镜像。
如果想查看主机下存在多少镜像,可以用如下命令:

docker images

如果知道当前有哪些容器,我们可以用如下命令:

docker ps -a

-a 是查看当前所有的容器,包括未运行的,如果不加这个参数就只显示正在运行容器。那么我们该如何去对一个容器进行启动,重启和停止呢?可以用如下命令:

docker start container_name/container_id docker restart container_name/container_id docker stop container_name/container_id

如果想进入到这个容器中,我们可以使用 attach 命令:

docker attach container_name/container_id

如果想运行这个容器中的镜像的话,并且调用镜像里面的 bash ,我们可以使用如下命令:

docker run -t -i container_name/container_id /bin/bash

如果我们想删除指定镜像的话,由于 Image 被某个 Container 引用(拿来运行),如果不将这个引用的 Container 销毁(删除),那 Image 肯定是不能被删除。所以我们首先得先去停止这个容器:

docker ps docker stop container_name/container_id

然后我们用如下命令去删除这个容器:

docker rm -f container_name/container_id

然后这个时候我们再去删除这个镜像:

docker rmi image_name

限于篇幅的原因,本篇作为基础入门知识就先到这里,关于docker更多知识的将在下一篇继续探讨。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.