1、什么Docker?
Docker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打包在一起,以确保您的应用程序在开发,测试或生产的任何环境中无缝运行。
Docker容器,将一个软件包装在一个完整的文件系统中,该文件系统包含运行所需的一切:代码,运行时,系统工具,系统库等可以安装在服务器上的任何东西。
这可以保证软件始终运行相同,无论其环境如何。
2、Docker与虚拟机有何不同
答:Docker不是虚拟化方法。它依赖于实际实现基于容器的虚拟化或操作系统级虚拟化的其他工具。为此,Docker最初使用LXC驱动程序,然后移动到libcontainer现在重命名为runc。Docker主要专注于在应用程序容器内自动部署应用程序。应用程序容器旨在打包和运行单个服务,而系统容器则设计为运行多个进程,如虚拟机。因此,Docker被视为容器化系统上的
容器管理或应用程序部署工具。Docker是轻量级的沙盒,在其中运行的只是应用,虚拟机里面还有额外的系统。
容器不需要引导操作系统内核,因此可以在不到一秒的时间内创建容器。此功能使基于容器的虚拟化比其他虚拟化方法更加独特和可取。
由于基于容器的虚拟化为主机增加了很少或没有开销,因此基于容器的虚拟化具有接近本机的性能。
对于基于容器的虚拟化,与其他虚拟化不同,不需要其他软件。
主机上的所有容器共享主机的调度程序,从而节省了额外资源的需求。
与虚拟机映像相比,容器状态(Docker或LXC映像)的大小很小,因此容器映像很容易分发。
容器中的资源管理是通过cgroup实现的。Cgroups不允许容器消耗比分配给它们更多的资源。虽然主机的所有资源都在虚拟机中可见,但无法使用。这可以通过在容器和主机上同时运行top或htop来实现。所有环境的输出看起来都很相似。docker打包镜像
3、什么是Docker镜像
答:Docker镜像是Docker容器的源代码,Docker镜像用于创建容器。可以使用Dockerfile 与 docker build命令创建一个镜像文件。在使用run启动时它们将生成容器。镜像存储在Docker注册表中,因为它们可能变得非常大,镜像被设计为由其他镜像层组成,允许在通过网络传输镜像时发送最少量的数据。
4、什么是Docker容器
答:Docker容器包括应用程序及其所有依赖的底层项,可以作为操作系统的独立进程运行。Docker容器包括应用程序及其所有依赖项,但与其他容器共享内核,作为主机操作系统上用户空间中的独立进程运行。Docker容器不依赖于任何特定的基础架构:它们可以在任何计算机,任何基础架构和任何云中运行。
5、Docker容器有几种状态
答:四种状态:运行、已暂停、重新启动、已退出。可以使用如下命令查看指定状态的容器是否运行正常
6、Dockerfile中最常见的指令是什么
答:FROM:指定基础镜像
LABEL:功能是为镜像指定标签
RUN:运行指定的命令
CMD:容器启动时要运行的命令
ADD:拷贝文件,支持拷贝远程主机上的文件
COPY:拷贝本地文件
7、Dockerfile中的命令COPY和ADD命令有什么区别
答:一般而言,虽然ADD并且COPY在功能上类似,但是首选COPY。那是因为它比ADD更易懂。COPY仅支持将本地文件复制到容器中,而ADD具有一些额外的功能(如仅限本地的tar提取和远程URL支持),这些功能并不是很明显。因此,ADD的最佳用途是将本地tar
文件自动提取到镜像中,如ADD /。COPY与ADD的区别COPY的SRC只能是本地文件,其他用法一致
8、docker常用管理命令
答:
docker pull 拉取或者更新指定镜像
docker push 将镜像推送至远程仓库
docker rm 删除容器
docker rmi 删除镜像
docker images 列出所有镜像
docker ps 列出所有容器
9、容器与主机之间的数据拷贝命令
答:docker cp 命令用于容器与主机之间的数据拷贝
主机到容器:
docker cp /www 96f7f14e99ab:/www/
容器到主机:
docker cp 96f7f14e99ab:/www /tmp/

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。