首页 > 其他分享 >Docker常见面试题

Docker常见面试题

时间:2024-03-04 22:56:46浏览次数:32  
标签:容器 面试题 宿主机 ps 常见 镜像 docker Docker

1.什么是Docker?

Go语言开发,容器虚拟化技术,C/S架构,具有隔离、快速、轻便的特点。

2.Docker与虚拟机有何不同?

相比于虚拟机,docker更快速、轻便。
快速:秒级启动
轻便:联合文件系统

3.Docker镜像是什么?

联合文件系统。
可以通过DockerFile构建或通过容器Commit生成。

4.Docker容器是什么?

镜像实例

5.Docker容器有几种状态?

四种状态:运行,暂停,重启,退出

6.DockerFile常见指令

FROM
ADD COPY
ENV WORKDIR
RUN
CMD ENTRYPOINT

7.Dockerfile中的命令COPY和ADD命令有什么区别?

COPY是复制文件
ADD可以自动解压

8.Docker常用命令

容器、镜像、仓库、日志、进程、元数据、拷贝

9.容器与主机之间的数据拷贝命令

docker cp <主机路径> <容器ID>:<容器路径>
docker cp <容器ID>:<容器路径> <主机路径>

10.启动nginx容器(随机端口映射),并挂载数据卷

docker run -d --name myNginx -P -v <主机路径>:<容器路径> nginx

11.什么是Docker Swarm?

与Docker引擎集成的集群管理

12.如何批量清理临时镜像文件?

docker rmi -f $(docker images -q)

13.如何查看镜像支持的环境变量?

docker run <镜像ID> env

14.本地的镜像文件都存放在哪里?

镜像文件路径:/var/lib/docker/image
容器文件路径:
/var/lib/docker/containers

15.构建Docker镜像应该遵循哪些原则?

1).尽量选取满足需求但较小的基础系统镜像
2).清理编译生成文件、安装包的缓存等临时文件

3).安装各个软件时候要指定准确的版本号,并避免引入不需要的依赖
4).从安全的角度考虑,应用尽量使用系统的库和依赖
5).使用Dockerfile创建镜像时候要添加.dockerignore文件或使用干净的工作目录

16.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

docker ps -a

17.如何停止所有正在运行的容器?

docker kill $(docker ps -q)

18.如何退出容器不终止容器

Ctrl+P+Q

19.如何清理批量后台停止的容器

docker rm $(docker ps -aq)

20.如何查看容器日志?

docker logs <容器ID>

21.可以在一个容器中同时运行多个应用进程吗?

一般不推荐在同一个容器内运行多个应用进程

22.如何控制容器占用系统资源(CPU,内存)的份额?

docker run 时,可以
使用-c|–cpu-shares[=0]参数来调整同期使用CPU的权重,
使用-m|–memory参数来调整容器使用内存的大小。

23.Docker能在非Linux平台(Windows+MacOS)上运行吗?

可以

24.如何将一台宿主机的docker环境迁移到另外一台宿主机?

停止Docker服务,将整个docker存储文件复制到另外一台宿主机上,然后调整另外一台宿主机的配置即可

25.什么是docker-compose?

实现批量docker容器编排

标签:容器,面试题,宿主机,ps,常见,镜像,docker,Docker
From: https://www.cnblogs.com/peteremperor/p/18052929

相关文章

  • 获取当前系统的时间戳并且转换成常见的时间显示格式
    获取当前系统的时间戳并且转换成常见的时间显示格式常见的写法先写一个方法放在一个Util包命名为DateUtilpackagecom.shujia.day11.Util;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassDateUtil{privateDateUtil(){}public......
  • 机器视觉-使用AMD的ROCm加速yolo前提-windows10 安装docker
    docker环境准备:docker官网下载dockerdesktop的windows版本,并安装.安装后,启动DockerDesktop应用程序完成剩余的安装任务.如果报unabletodetectaHypervisor错误,使用管理员权限执行下面批处理文件,会安装Hyper-V相关组件,并重启电脑,重启后启用或关闭Wi......
  • docker后端运行
    重点: 比如,redis就需要后台守护式启动:dockerrun-dredis有的就只能前台交互式启动,比如:dockerrun-itubuntu #使用鏡像centos:latest 以后台模式启动一·个容器docker run -d ubuntu: 然后 docker ps -a 行查看, 会发容器已经退出很重要的要說明的一点: ......
  • docker容器命令
      docker是基于linux内核的,必须需要linux系统才能运行起来。1.创建容器实例dockerrun[options]image[command][arg...] #启动交互式容器命令dockerrun-itubuntu/bin/bash  宿主机的端口:docker中的端口。 2.查看正在运行的容器dockerps【options】......
  • docker系列教程04---容器网络
    一、Docker不启动时默认的网络情况这里先把Docker停掉了,然后咱们ifconfig看一眼:ifconfig ens33不用多说了,lo为回环。这里可能还会有一个virbr0,在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr......
  • docker构建镜像
    Howtobuildadockerimage.本项目用于学习使用docker来构建镜像。这里我们使用docker来编译我们的一个c++项目然后生成一个docker镜像,并将镜像上传到自己的docker仓库,最后使用该镜像来运行我们的项目。0.cpp源文件介绍在src文件夹下面有一个cpp文件,实现了整数的加法,我们在......
  • 不会还有人不会用docker init吧?
    现在立刻马上给我停止编写Dockerfiles,改为使用dockerinit编写Dockerfileanddocker-compose配置文件!您是那些觉得写作Dockerfiles和docker-compose.yml文件很痛苦的人之一吗?至少我从来没有享受过。我总是想知道我是否遵循了最佳实践,并且在编写配置文件时是否在不知不觉中......
  • docker命令
    1.docker卸载卸载Docker:sudoyumremovedocker-cedocker-ce-clicontainerd.io删除目录和卷sudorm-rf/var/lib/dockersudorm-rf/var/lib/containerd 2.dockerimages[options]dockerimages-adocker0mages-q 3.dockersearch[option]镜像名字d......
  • 【2024面试刷题】一、Spring Cloud 面试题
    1、什么是SpringCloud?SpringCloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。SpringClou......
  • docker环境部署容器之间互通:Hyperf+MySQL
    在docker中要使Hyperf和Mysql网络互通,则需要在创建相应容器的时候指定共享网络,步骤如下:一、首先我们指定共享网络dockernetworkcreate--subnet172.18.0.1/16test  //整条命令复制执行就行不用改这个ip二、创建hyperf命令dockerrun--namehyperf-vD:\hyperf202......