10道不得不会的Docker面试题

以下是一些docker的基础面试题,下一篇docker进阶面试题。本系列 《最少必要面试题》

Docker 是一种流行的开源软件平台,可简化创建、管理、运行和分发应用程序的过程。它使用容器来打包应用程序及其依赖项。我们也可以将容器视为 Docker 镜像的运行时实例。

Docker 是轻量级的沙盒,在其中运行的只是应用,虚拟机里面还有额外的系统。

Dockerfile 是一个文本文件,其中包含我们需要运行以构建 Docker 镜像的所有命令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。Docker 使用 Dockerfile 中的指令自动构建镜像。我们可以 docker build 用来创建按顺序执行多个命令行指令的自动构建。

一些最常用的指令如下:

Docker Compose 在继续下一个容器之前不会等待容器准备就绪。为了控制我们的执行顺序,我们可以使用“ 取决于 ”条件, depends_on 。这是在 docker-compose.yml 文件中使用的示例

用 docker-compose up 命令将按照我们指定的依赖顺序启动和运行服务。

Docker 容器经历以下阶段:

Linux中的PID、IPC、网络等资源是全局的,而Linux的NameSpace机制是一种资源隔离方案,在该机制下这些资源就不再是全局的了,而是属于某个特定的NameSpace,各个NameSpace下的资源互不干扰。

Namespace实际上修改了应用进程看待整个计算机“视图”,即它的“视线”被操作系统做了限制,只能“看到”某些指定的内容。 对于宿主机来说,这些被“隔离”了的进程跟其他进程并没有区别。

虽然有了NameSpace技术可以实现资源隔离,但进程还是可以不受控的访问系统资源,比如CPU、内存、磁盘、网络等,为了控制容器中进程对资源的访问,Docker采用control groups技术(也就是cgroup),有了cgroup就可以控制容器中进程对系统资源的消耗了,比如你可以限制某个容器使用内存的上限、可以在哪些CPU上运行等等。

有了这两项技术,容器看起来就真的像是独立的操作系统了。

低谷蓄力

10道不得不会的Java基础面试题

10道不得不会的MySQL基础面试题

10道不得不会的Java并发基础面试题

10道不得不会的JVM面试题

10道不得不会的ElasticSearch面试题

10道不得不会的Spring面试题

10道不得不会的 Redis 面试题

10道不得不会的 Kafka 面试题

10道不得不会的 MyBatis 面试题



  • 10閬撲笉寰椾笉浼氱殑Docker闈㈣瘯棰
    绛旓細姣斿CPU銆佸唴瀛樸佺鐩樸佺綉缁滅瓑锛屼负浜嗘帶鍒跺鍣ㄤ腑杩涚▼瀵硅祫婧愮殑璁块棶锛Docker閲囩敤control groups鎶鏈(涔熷氨鏄痗group)锛屾湁浜哻group灏卞彲浠ユ帶鍒跺鍣ㄤ腑杩涚▼瀵圭郴缁熻祫婧愮殑娑堣椾簡锛屾瘮濡備綘鍙互闄愬埗鏌愪釜瀹瑰櫒浣跨敤鍐呭瓨鐨勪笂闄愩佸彲浠ュ湪鍝簺CPU涓婅繍琛岀瓑绛夈
  • 鎮ㄥソ,鍙互鍍忔偍璇锋暀涓涓嬪叧浜docker鏂归潰鐨勯棶棰樺悧?
    绛旓細鍚屾牱鐨勭郴缁熸槸鍙互鐨勶紝浣嗗緢楹荤儲锛岃櫄鎷熸満鏈韩寰堝ぇ锛堣浆鎴docker褰㈠紡瑕佷笉灏戞椂闂达級锛涜櫄鎷熸満鏄郴缁熻櫄鎷熷寲锛宒ocker鏄簲鐢ㄨ櫄鎷熷寲锛岃繖涓や釜鏄笉涓鏍风殑锛屼綘鐨勮瘯楠岀幆澧冧綘纭畾鐢ㄥ簲鐢ㄨ櫄鎷熷寲鍙互瀹炵幇锛熷簲鐢ㄨ櫄鎷熷寲鐨勬儏鍐典笅锛屽緢澶氫笢瑗挎槸鏈夐檺鍒剁殑锛屾瘮濡傝閮ㄥ垎鏂囦欢鏄彧璇荤殑锛岃岃櫄鎷熸満鍗村氨淇敼绛 ...
  • 甯歌鐨勫鍣ㄥ畨鍏ㄥ▉鑳佹湁鍝簺?
    绛旓細闀滃儚杞欢瀛樺湪瀹夊叏婕忔礊锛氱敱浜庡鍣ㄩ渶瑕佸畨瑁呭熀纭鐨勮蒋浠跺寘锛屽鏋滆蒋浠跺寘瀛樺湪婕忔礊锛屽垯鍙兘浼氳涓嶆硶鍒嗗瓙鍒╃敤骞朵笖渚靛叆瀹瑰櫒锛屽奖鍝嶅叾浠栧鍣ㄦ垨涓绘満瀹夊叏銆備粨搴撴紡娲烇細鏃犺鏄疍ocker 瀹樻柟鐨勯暅鍍忎粨搴撹繕鏄垜浠鏈夌殑闀滃儚浠撳簱锛岄兘鏈夊彲鑳借鏀诲嚮锛岀劧鍚庣鏀归暅鍍忥紝褰撴垜浠娇鐢ㄩ暅鍍忔椂锛屽氨鍙兘鎴愪负鏀诲嚮鑰呯殑鐩爣瀵硅薄銆傜敤鎴风▼搴忔紡娲烇細鐢ㄦ埛鑷繁...
  • 璁块棶寰湇鍔 鍝嶅簲鏃堕棿5绉 鎬庝箞淇敼
    绛旓細涓嶈繃澶у鍏徃鏄牴鎹ā鍨嬫潵鎵ц鐨,杩欎笌寮鍙戣呭伐浣滅殑鏂瑰紡涓嶅悓銆傚紑鍙戣涓嶄細鎸夌収閿鍞佸競鍦烘帹骞裤佽储鍔$瓑閮ㄩ棬浜哄憳鐨勬柟寮忔潵宸ヤ綔,寮鍙戣呬笉鏄寜鐓ц鍒掓垨鏂规鏉ユ墽琛屽伐浣滅殑銆傝蒋浠跺紑鍙戠殑杩囩▼鏈夋洿澶氱殑杩唬,骞堕潪鐎戝竷寮忚嚜涓婅屼笅鐨勩 Pivotal鐨勯甯妧鏈疢ichael Cot茅琛ㄧず:鈥滄垜涓嶇煡閬撴庝箞璇,涓嶈繃鐪熷疄涓栫晫涓庤蒋浠朵笘鐣屾槸瀹屽叏涓嶅悓鐨勩傗滳o...
  • 闈㈡福閫嗚:Java鍩虹闈㈣瘯棰,46閬揓ava鍩虹鍏偂鏂(4.8涓囧瓧,30+鎵嬬粯鍥...
    绛旓細Java鐨勮法骞冲彴鑳藉姏涓昏閫氳繃涓棿浠舵妧鏈疄鐜帮紝濡侸VM閫氳繃鏍囧噯鍖栨墽琛岀幆澧冩潵纭繚浠g爜鐨勯氱敤鎬с傛澶栵紝铏氭嫙鏈烘妧鏈Java鐨凧VM灏嗕唬鐮佺紪璇戞垚涓棿浠g爜锛堝瓧鑺傜爜锛夛紝浠庤屽疄鐜拌法骞冲彴杩愯锛屽React Native鍜孎lutter绛夋鏋跺垯杩涗竴姝ョ畝鍖栦簡浠g爜缂栧啓锛岄殣钘忎簡搴曞眰骞冲彴宸紓銆傚鍣ㄥ寲鎶鏈紝濡Docker锛屽皢搴旂敤绋嬪簭鎵撳寘鎴愬彲绉绘鐨勫鍣紝...
  • 涓嶆兂涓嬭浇瀹㈡埛绔?鐢∟AS鑷儴缃茬綉椤电増!SPlayer,涓娆惧姛鑳介綈鍏ㄧ殑缃戞槗浜戠綉椤垫挱 ...
    绛旓細鍙渶鍦∟AS鐨凞ocker鐜涓悳绱msyy/splayer:2.0.0-beta.5锛屾垨鑰呬娇鐢ㄥ懡浠docker run -d --name SPlayer -p 7899:7899 imsyy/splayer:2.0.0-beta.5`鍚姩锛孲Player灏辫兘鍦ㄤ綆鏉冮檺鐨勭幆澧冧腑杩愯銆傛棤璁轰綘鐨凬AS鍨嬪彿锛岃缃捣鏉ラ兘涓嶈垂鍚圭伆涔嬪姏銆備簯绔煶涔愶紝瑙︽墜鍙強 閫氳繃娴忚鍣ㄨ闂甡http://nasip+...
  • 鎯充拱绉佹湁浜戜笉鎯宠俯闆,鏈夋病鏈夊彲浠ラ儴缃docker+铏氭嫙鏈虹殑NAS鎺ㄨ崘
    绛旓細鏋佺┖闂寸鏈変簯鍚э紝鎴戝鐨勬槸Z4Pro锛docker杞婚噺鍖栦笂鎵嬬畝鏄擄紝鑰屼笖鏋佺┖闂村唴缃殑闀滃儚搴撴瘮杈冨叏闈紝澶栧姞鍏煎绗笁鏂归暅鍍忥紝涓嬭浇杩愯0闃荤0澶辫触锛沍4Pro鐨勮櫄鎷熸満鏄熀浜嶭inux鎵撻犵殑锛屽彲濉戞у拰鐏垫椿鎬ч兘寰堝己锛屽彧瑕佹湁闀滃儚閮借兘瀹炵幇涓閿紡閮ㄧ讲锛屽钩甯歌繍琛屾椂涔熸病鏈夊嚭鐜拌繃寮傚父鎴栬呬腑鏂殑鎯呭喌銆傝繖涓や釜鍔熻兘寮浜嗕箣鍚巆pu鐨勬俯搴﹂兘鍙...
  • 涓轰粈涔堝湪涓浗鐢ㄤ笉浜Docker?
    绛旓細棣栧厛锛屽叧浜庡畨鍏ㄥ洜绱犮傞殢鐫浜戣绠楀拰瀹瑰櫒鎶鏈殑鏅強锛孌ocker 绛夋妧鏈钩鍙板湪鍏ㄧ悆鑼冨洿鍐呭彈鍒板箍娉涘叧娉ㄥ拰搴旂敤銆傜劧鑰岋紝鍦ㄦ煇浜涚壒瀹氭儏澧冧笅锛屽挨鍏舵槸鍦ㄤ腑鍥芥斂搴滅浉鍏抽儴闂ㄤ富瀵间笅瀹炴柦鐨勪竴浜涚綉缁滄斂绛栧拰瑙勫畾涓嬶紝鍑轰簬瀵规湰鍦扮綉缁滃拰绯荤粺鐨勫畨鍏ㄨ冭檻锛屽彲鑳戒細闄愬埗鎴栫鐢 Docker 鐨浣跨敤銆傝繖涓昏鏄负浜嗛槻姝㈡綔鍦ㄧ殑缃戠粶瀹夊叏椋庨櫓鍜屼笉绋冲畾鎬...
  • Dockerfile閲屾寚瀹氭墽琛屽懡浠ょ敤ENTRYPOING鍜岀敤CMD鏈変綍涓嶅悓
    绛旓細docker run CONTAINER_NAME echo foo 鍒機ONTAINER_NAME闈cho foo閮戒綔鍙傛暟浼犻掔粰ENTRYPOING鎸囧畾echo鍛戒护鎵鐩镐簬鎵ц echo "echo foo"缁堟墦鍗扮粨锛歟cho foo 鍙﹀DockerfileENTRYPOINT鎸囧畾鍙傛暟姣旇繍琛宒ocker run鎸囧畾鍙傛暟鏇撮潬鍓嶆瘮锛...ENTRYPOINT ["echo", "foo"]鎵ц docker run CONTAINER_NAME bar 鐩镐簬鎵ц锛...
  • 鑷缂栫▼鐨勬妧宸ф湁鍝簺?
    绛旓細鎴戠湡鐨勫笇鏈涗互鍓嶆垜鑳藉闂簺闂锛屼絾鎬绘槸鍥犱负瀹虫曚細鏄惧緱鎰氳牏鑰屾姝ャ傛垜鐨勭涓変釜寤鸿鏄悜浣犺璇嗙殑浜鸿姹傚府鍔┿傞氬父锛屼綘鎴栬宸茬粡鐞嗚В浜嗘妧鏈紝鑰屼笖鏈変簡闂锛屼絾鏄綘鍙兘闇瑕佹洿楂樺眰娆$殑涓婁笅鏂囨墠鑳界湡姝hВ寮璋滃洟銆備笉瑕佽儐鎬紝澶х潃鑳嗗瓙涓婂墠鍘婚棶鍚с備緥濡傦紝褰撳涔Docker鏃讹紝鎴戣姳璐逛簡澶ч噺鐨勬椂闂翠粠澶村紑濮嬮噸鏂版瀯寤哄浘鍍忋
  • 扩展阅读:docker被禁 ... docker-compose ... 每天五分钟玩转docker ... docker官网无法访问 ... k8s为啥不建议用docker了 ... 进入docker ... 为什么docker被淘汰了 ... 检查当前docker版本 ... 爱快docker镜像库url ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网