运维面试题
David
2023-06-05 18:20:04
Categories:
面试题
Tags:
面试题
解释代理中的正向代理和反向代理
- 我们的客户端在进行翻墙操作的时候,我们使用的正是正向代理,通过正向代理的方式,在我们的客户端运行一个软件,将我们的HTTP请求转发到其他不同的服务器端,实现请求的分发。
- 反向代理服务器(10086电话就是类似)作用在服务器端,它在服务器端接收客户端的请求,然后将请求分发给具体的服务器进行处理,然后再将服务器的相应结果反馈给客户端。
Dockerfile中的命令COPY和ADD命令有什么区别
- Copy和ADD都是Dockerfile中将文件复制到镜像中的一种方法,但是他们都只能将build上下文中的文件进行拷贝也就是说不能随便拷贝非build上下文中的文件,因为在执行docker-build命令的时候,会将所有上下文中的文件发送给docker-daemon会显示文件不存在.当是用本地资源复制到镜像中推荐用Copy
- ADD方法能将URL中的资源获取到镜像中,但是一般不推荐这么用,因为会创建更多的镜像层,并且镜像的体积也会变大.并且能够支持将文件直接解压.对于目录来说,它们都有相同的特点:只复制目录中的内容而不包含目录本身.如果要包含自身.要加上copy nickdir ./nickdir命令.它们的另一个区别是在multi-stage(多阶段构建)中copy可以把前一阶段构建的产物拷贝到另一个镜像中.
Dockerfile中的cmd和run的区别
cmd和run都是dockerfile中用来执行命令的,其中cmd命令只能有一个,如果有多个run命令的话只会执行最后一条.
run指令是运行指定命令,每条run指令将在当前镜像基础上执行指定命令,并提交为新的镜像层.当命令较长时可以使用/来换行.
并且它们执行的时机也不同,run命令用于docker build 构建docker镜像时执行的命令,而CMD命令时在dockerRUN执行docker镜像构建容器时使用