1、什么Docker?
Docker是一个容器化平台,它以容器的形式将应用程序及其所有依赖项打包在一起,以确保应用程序在任何环境中无缝运行。
2、什么是Docker镜像?
Docker镜像是Docker容器的源代码,Docker镜像用于创建容器。使用build命令创建镜像。
3、什么是Docker容器?
Docker容器包括应用程序及其所有依赖项,作为操作系统的独立进程运行。
4、Docker容器有几种状态?
四种状态:运行、已暂停、重新启动、已退出。
5、Dockerfile中最常见的指令是什么?
- FROM:指定基础镜像
- LABEL:功能是为镜像指定标签
- RUN:运行指定的命令
- CMD:容器启动时要运行的命令
6、Dockerfile中的命令COPY和ADD命令有什么区别?
一般而言,虽然ADD并且COPY在功能上类似,但是首选COPY。ADD具有解压的功能。
7、docker常用命令?
- docker pull 拉取或者更新指定镜像
- docker push 将镜像推送至远程仓库
- docker rm 删除容器
- docker rmi 删除镜像
- docker images 列出所有镜像
- docker ps 列出所有容器
8、容器与主机之间的数据拷贝命令?
docker cp 命令用于容器与主机之间的数据拷贝
主机到容器:
docker cp /www 96f7f14e99ab:/www/
容器到主机:
docker cp 96f7f14e99ab:/www /tmp/
9、如何在生产中监控Docker?
Docker提供docker stats和docker事件等工具来监控生产中的Docker。我们可以使用这些命令获取重要统计数据的报告。一般使用监控工具cadvisor。docker管理工具portainer。
10、Docker与虚拟机有何不同?
Docker不是虚拟化方法。它依赖于实际实现基于容器的虚拟化或操作系统级虚拟化的其他工具。为此,Docker最初使用LXC驱动程序,然后移动到libcontainer现在重命名为runc。Docker主要专注于在应用程序容器内自动部署应用程序。应用程序容器旨在打包和运行单个服务,而系统容器则设计为运行多个进程,如虚拟机。因此,Docker被视为容器化系统上的容器管理或应用程序部署工具。
- 容器不需要引导操作系统内核,因此可以在不到一秒的时间内创建容器。
- 由于基于容器的虚拟化为主机增加了很少或没有开销,因此基于容器的虚拟化具有接近本机的性能;
- 基于容器的虚拟化,与其他虚拟化不同,不需要其他软件;
- 主机上的所有容器共享主机的调度程序,从而节省了额外资源的需求;
- 与虚拟机映像相比,容器状态(Docker或LXC映像)的大小很小,因此容器映像很容易分发;
- 容器中的资源管理是通过cgroup实现的。Cgroups不允许容器消耗的资源比分配给他的多。虽然主机的所有资源都在虚拟机中可见,但无法使用。