docker面试题
docker 常见的面试题(持续更新)开始做go了,go 方向的话,docker 还是很有必要了解的。故整理一波1. 什么是dockerDocker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打包在一起,以确保您的应用程序在任何环境中无缝运行2. Docker与虚拟机的不同点在哪里?docker和虚拟机的比较3.谈谈你对镜像的理解相当于容器的源代码,是一个只读层,镜像由docker
docker 常见的面试题(持续更新)
开始做go了,go 方向的话,docker 还是很有必要了解的。故整理一波
1. 什么是docker
Docker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打包在一起,以确保您的应用程序在任何环境中无缝运行
2. Docker与虚拟机的不同点在哪里?
3.谈谈你对镜像的理解
相当于容器的源代码,是一个只读层,镜像由dockerfile 编写生成,用于构建容器。镜像运行起来之后就是 容器。
镜像相当于类,容器相当于对象。
4. 谈谈你对容器的理解
容器是镜像运行后的可读写层,包含应用程序及其所有依赖项,作为操作系统的独立进程运行。
5.容器状态有哪些
四种状态:运行、已暂停、重新启动、已退出。
6.dockerfile 常用的命令
- FROM:指定基础镜像
- LABEL:功能是为镜像指定标签
- RUN:运行指定的命令
- CMD:容器启动时要运行的命令
7.dockerfile ENTRYPOINT 和 cmd 命令的区别
- 1、相同点:都可以指定shell或exec函数调用的方式执行命令; 当存在多个CMD指令或ENTRYPOINT指令时,只有最后一个生效;
- 2、不同点: 差异1:CMD指令指定的容器启动时命令可以被docker
run指定的命令覆盖,而ENTRYPOINT指令指定的命令不能被覆盖,而是将docker
run指定的参数当做ENTRYPOINT指定命令的参数。
差异2:CMD指令可以为ENTRYPOINT指令设置默认参数,而且可以被docker run指定的参数覆盖;
8.dockerfile 中 add 和 copy 的区别
ADD和COPY相同点:只复制目录中得内容而不包含目录自身
ADD和COPY不同点:当要读取URL远程资源的时候,并不推荐使用ADD指令,而是建议使用RUN指令,在RUN指令中执行wget或curl命令(原因:减小镜像层数,避免镜像包过大)
build 上下文:docker build 创建镜像时就会产生一个上下文,就是docker patch或者URL中指定的文件合集,在build 过程中可以引用上下文中得任何文件。docker build -t test可以指定上下文得路径
copy和add 这俩命令就是引用上下文得文件,不能引用之外得邮件。
9.docker 常用的命令
- docker pull 拉取或者更新指定镜像
- docker push 将镜像推送至远程仓库
- docker rm 删除容器
- docker rmi 删除镜像
- docker images 列出所有镜像
- docker ps 列出所有容器
- docker cp 容器与主机间的数据拷贝
10. 容器内部机制
每个容器都在自己的命名空间中运行,但使用与所有其他容器完全相同的内核。发生隔离是因为内核知道分配给进程的命名空间,并且在API调用期间确保进程只能访问其自己的命名空间中的资源。
11. 一个完整的docker 由哪些部分组成
- DockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- dockerContainer容器
12. 容器网络 能说下吗
本质上是利用了linux 上的 网络命名空间和虚拟网络设备 。 docker 用的是虚拟接口(虚拟网络)。转发效率极高,即可之间的数据转发通过数据复制来实现
13.介绍下容器网络的四种模式
更多推荐
所有评论(0)