Docker面试题

Stella981
• 阅读 535

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

    docker run IMAFGE env

2. 在使用docker create命令创建容器或使用docker run创建并运行容器的时候。可以使用-m|-memory参数来调整容器使用内存的大小。

    正确

3. docker需要查询日志应该使用什么命令?

    docker logs

4. docker如何停止所有运行的容器?

    docker kill $(docker ps -q)

5. 如何查看容器的统计信息?

    Docker stats 容器id

6. 启动nginx容器(随机端口映射),并挂载本地文件目录到容器html的命令是?

    docker run -d -P -name nginx2 -v /home/nginx:/usr/share/nginx/html nginx

7. 以下docker容器的状态的是

    挂起  运行  重新启动  已暂停

8. 很多应用容器都是默认后台运行的,怎么查看它们的输出和日志信息?

    docker logs

9. 在Docker的基本概念中,哪一项是用于集中存放镜像的?

    docker registry

10. 容器推出后,使用docker ps命令无法查看到,说明容器被自动删除了?

    错误

11. 如何搜索docker镜像nginx

    docker search nginx

12. 请判断查看容器的进程命令为Docker top 容器id是否正确

    正确

13. docker环境下,如何无需进入docker从docker中拷贝文件到本地?

    docker cp 容器id:/root/.bashrc /tmp/

14. 容器与虚拟化的描述正确的

    容器比虚拟机少了OS( Guest OS )层

    容器开销更小

    容器启动速度更快,毫秒级

15. Ubuntu系统下Docker的配置文件是/etc/default/docker,CentOS系统配置文件存放在/etc/sysconfig/docker

    正确

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

    错误  ( 容器退出后会处于终止(exited)状态,此时可以通过 docker ps -a 查看,其中数据不会丢失,还可以通过docker start 来启动,只有删除容器才会清除数据 )

17. 容器具有数据持久化特性,无论进入容器进行什么样的更改,退出容器后再重新启动容器,里面数据不会丢失

    正确

18. docker环境下,下面通过哪个命令可以查看docker的CONTAINER ID?

    docker ps -a

19. docker容器重启命令是?

    docker restart 容器ID

20. docker如何列出可运行的容器?

    docker ps

21. docker把主机的/tmp/abc.txt文件复制到容器2d0abd3328cf里的/tmp,以下哪个命令正确

    docker cp /tmp/abc.txt 2d0abd3328cf:/tmp

22. 在使用docker create命令创建容器或使用docker run创建并运行容器的时候,可以使用-c|-cpu-shares[=0]参数来调整同期使用CPU的权重

23. 容器退出后会处于终止(exited)状态,此时可以通过docker ps -a 查

24. docker如何清理批量后台停止的容器?

    docker rm $(docker ps -a -q )

25. Docker能在非Linux平台(Windows+Mac OS)上运行

26.  docker本地的镜像文件都存放在哪里

    /var/lib/docker/目录下

27. docker如何临时退出一个正在交互的容器的终端,而不终止它?

    按Ctrl+p Ctrl+q。如果按Ctil-c往往会让容器内应用进程终止,进而会终止容器。

28. 使用什么命令能把一个镜像下载到本地

    docker pull

29. Docker命令非常丰富,以下哪个子命令查看容器的运行状态

    docker ps

30. 如何查看容器abc的详细信息?

    Docker inspect abc

31. docker环境下,下面哪条命令是进入docker?

    docker exec -ti dockerID bash

32. Docker是一个开源的应用容器引擎,所以Docker是容器的一种类型

33. docker如何批量清理临时镜像文件(虚悬镜像清理)

    docker rmi $(docker images -q -f dangling=true)

34. 如何运行一个zabbix的镜像,并打开一个终端?

    docker run -it zabbix /bin/bash

35. Docker Hub: 是用于分享、管理Docker容器的Docker SaaS平台

36. docker pull 命令用于镜像下载

37. net选项后面可以跟哪些参数?

    host模式:使用 --net=host 指定。

    none模式:使用 --net=none 指定。

    bridge模式:使用 --net=bridge 指定,默认设置。

    container模式:使用 --net=container:NAME_or_ID 指定。

38. docker的存储驱动程序有哪些?

    aufs,devicemapper,btrfs 和overlay

39. docker网络模式包括

    host、container、none、bridge

40. 如何启动本机Docker服务

    systemctl start docker    /    service docker start

41. Docker的核心组件有哪些?

    Docker 客户端Client

    Docker 镜像 image

    Docker 容器 Container

    Docker 仓库Registry

42.  当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个景象。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令俩下载它。#docker pull ubuntu:13.10,同样设置镜像标签 #docker tag ubuntu:13.10 runoob/ubuntu:dev 或者 #docker tag a12518e15f08 runoob/ubuntu:dev

    docker stats 动态查看docker源消耗情况,包括:内存、网络I/O、CPU。

    docker 通过exec可以创建两种任务(后台任务和交互型任务)交互型任务:docker exec -ti "容器ID" /bin/bash    后台型任务:docker exec -d "容器ID" touch 123  (-d  也可省去)

    批量操作容器,docker ps -q 只列出docker id

43. docker info 可以查看到集群内容器的数量

    docker ps 容器ID (参数 -a:显示所有容器,包括未运行的;-n:列出最近创建的n个容器)

    docker pause 暂停容器中所有的进程

    docker create 创建一个新的容器并且启动它

44. 可以构建镜像的命令

    docker build

    docker commit

45. docker 容器与主机之间的数据拷贝命令是?

    docker cp /www 容器ID:/www       #cp 宿主机www到容器www下

    docker cp 容器ID:/www /www       #cp 容器www到宿主机www下

46. Docker的主要用途有

    提供一次性的环境

    提供弹性的云服务

    组建微服务架构

47. docker进入容器的方法有哪些?

    docker run -ti nginx bash  (退出容器就死,一次性测试可以使用)

    docker attach --sig-proxy=false 容器ID/容器Name     (可以查看动态日志)

    docker exec      (建议)

    ssh  (不建议)

    nsenter工具

48. docker命令高危操作

    docker rm -f 容器id/容器name

    docker rmi -f 镜像id

虚拟机技术与Docker区别

Docker通常用于隔离不同的应用,例如前端,后端以及数据库,而虚拟机更擅长于彻底隔离整个运行环境。例如,云服务提供商通常采用虚拟机技术隔离不同的用户。

服务器好比运输码头:拥有场地和各种设备(服务器硬件资源)

服务器虚拟化好比作码头上的仓库:拥有独立的空间堆放各种货物或集装箱

(仓库之间完全独立,独立的应用系统和操作系统)

Docker比作集装箱:各种货物的打包

(将各种应用程序和他们所依赖的运行环境打包成标准的容器,容器之间隔离)

Docker有着小巧、迁移部署快速、运行高效等特点,但隔离性比服务器虚拟化差:不同的集装箱属于不同的运单(Docker上运行不同的应用实例),相互独立(隔离)。但由同一个库管人员管理(主机操作系统内核),因此通过库管人员可以看到所有集装箱的相关信息(因为共享操作系统内核,因此相关信息会共享)。

服务器虚拟化就好比在码头上(物理主机及虚拟化层),建立了多个独立的“小码头”—仓库(虚拟机)。其拥有完全独立(隔离)的空间,属于不同的客户(虚拟机所有者)。每个仓库有各自的库管人员(当前虚拟机的操作系统内核),无法管理其它仓库。不存在信息共享的情况

因此,我们需要根据不同的应用场景和需求采用不同的方式使用Docker技术或使用服务器虚拟化技术。例如一个典型的Docker应用场景是当主机上的Docker实例属于单一用户的情况下,在保证安全的同时可以充分发挥Docker的技术优势。对于隔离要求较高的环境如混合用户环境,就可以使用服务器虚拟化技术。正则科技提供了丰富的Docker应用实例,满足您的各种应用需求,并且支持在已经安装了自在(Isvara)服务器虚拟化软件的主机上同时使用服务器虚拟化技术和Docker技术提供不同技术场景。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
2个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这