25 个最常见的 Docker 面试问题和答案

下面我们为您带来 25 个最常见的 Docker 面试问题和答案。

1.什么是Docker?
答: Docker 是一个用于在容器中开发、发布和运行应用程序的平台。容器允许开发人员将应用程序及其依赖项打包到一个单元中,以便跨各种环境进行一致的部署。

2.解释Docker容器和Docker镜像的区别。
答: Docker 镜像是一个轻量级、独立且可执行的包,其中包含应用程序及其依赖项。Docker 容器是 Docker 镜像的运行实例。您可以从同一个映像运行多个容器。

3. 如何从镜像创建 Docker 容器?
答:使用docker run命令。例如:
docker run -d --name my_container my_image

4. 什么是 Dockerfile?
答案: Dockerfile 是一个文本文件,其中包含构建 Docker 映像的说明。它包括在映像创建过程中复制文件、设置环境变量和配置容器的命令。

5. 如何在 Docker 中公开端口?
答案:-p将标志与命令一起使用docker run。例如:
docker run -p 8080:80 my_image

6.解释Docker中卷的使用。
答案:卷允许数据在容器重新启动之间保留。它们可用于在主机和容器之间或多个容器之间共享数据。例如:
docker run -v /host/directory:/container/directory my_image

7. Docker Compose 的用途是什么?
答: Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它使用 YAML 文件来配置应用程序服务、网络和卷。

8. 如何移除所有停止的容器?
答案:使用命令:
docker container prune

9. 解释Dockerfile 中ENTRYPOINT指令的用途。
答: ENTRYPOINT指定容器启动时将执行的命令。常用于设置容器的主进程。例如:
ENTRYPOINT ["java", "-jar", "myapp.jar"]

10.什么是Docker Swarm?
答: Docker Swarm 是 Docker 的原生集群和编排解决方案。它允许您创建和管理大量 Docker 节点,从而轻松部署和扩展容器化应用程序。

11. 如何列出所有 Docker 网络?
答案:使用命令:docker network ls

12. Docker 镜像和 Docker 容器有什么区别?
答: Docker 镜像是一个轻量级、独立且可执行的包,其中包含应用程序及其依赖项。Docker 容器是 Docker 镜像的运行实例。

13. 如何停止并移除所有容器?
答案:使用命令:docker stop $(docker ps -aq) docker rm $(docker ps -aq)

14.解释Docker注册表的概念。
答: Docker 注册表是用于存储和共享 Docker 镜像的集中存储库。默认注册表是 Docker Hub,但您可以使用私有注册表来增强安全性和控制。

15. 如何从 Dockerfile 构建 Docker 镜像?
答:使用docker build命令。例如:docker build -t my_image

16. docker run命令中-it选项的作用是什么?
答案:该-it选项允许对容器进行交互式访问,将终端连接到容器的标准输入。例如:
docker run -it my_image /bin/bash

17. 如何限制 Docker 容器的 CPU 使用率?
答案:--cpus将选项与命令一起使用docker run。例如,限制容器使用 2 个 CPU 核心:
docker run --cpus=2 my_image

18.解释Docker层的概念。
答: Docker 层是一个只读文件系统,代表一组文件更改。Dockerfile 中的每条指令都会创建一个新层。图层被缓存,提高构建效率。

19. 如何在Docker容器中设置环境变量?
答案:docker run将选项-e与命令一起使用。例如:

docker run -e MY_VARIABLE=value my_image

20. Dockerfile 中的CMD指令的用途是什么?
答:该CMD指令设置容器运行时默认执行的命令。它可以在容器启动期间被覆盖。例如:

CMD ["java", "-jar", "myapp.jar"]

21.如何查看Docker容器的详细信息?
答:使用docker inspect命令。例如:

docker inspect my_container

22.解释Docker镜像和Docker容器之间的区别。
答: Docker 镜像是一个轻量级、独立且可执行的包,其中包含应用程序及其依赖项。Docker 容器是 Docker 镜像的运行实例。

23.docker run命令中选项-v的作用是什么?
答案:该-v选项用于挂载卷,允许数据在容器重新启动之间保留。例如:

docker run -v /host/directory:/container/directory my_image

24.如何查看正在运行的Docker容器的日志?
答:使用docker logs命令。例如:

docker logs my_container

25.什么是Docker Swarm模式?
答案: Docker Swarm 模式将一组 Docker 主机转变为单个虚拟 Docker 主机。它支持跨 Docker 节点集群的服务编排、负载平衡和扩展。