日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker 常见问题汇总

發布時間:2024/4/13 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker 常见问题汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鏡像相關1、如何批量清理臨時鏡像文件?可以使用sudo docker rmi $(sudo docker images -q -f danging=true)命令2、如何查看鏡像支持的環境變量?使用sudo docker run IMAGE env3、本地的鏡像文件都存放在哪里于Docker相關的本地資源存放在/var/lib/docker/目錄下,其中container目錄存放容器信息,graph目錄 存放鏡像信息,aufs目錄下存放具體的鏡像底層文件。4、構建Docker鏡像應該遵循哪些原則? 1)安裝各個軟件時候要指定準確的版本號,并避免引入不需要的依賴 2) 從安全的角度考慮,應用盡量使用系統的庫和依賴 容器相關1、容器退出后,通過docker ps 命令查看不到,數據會丟失么?1)容器退出后會處于終止(exited)狀態,此時可以通過 docker ps -a 查看,其中數據不會丟失,還可以 通過docker start 來啟動,只有刪除容器才會清除數據。2、如何停止所有正在運行的容器?使用docker kill $(sudo docker ps -q)3、如何清理批量后臺停止的容器?使用docker rm $(sudo docker ps -a -q)4、如何臨時退出一個正在交互的容器的終端,而不終止它?按Ctrl+p,后按Ctrl+q,如果按Ctrl+c會使容器內的應用進程終止,進而會使容器終止。5、很多應用容器都是默認后臺運行的,怎么查看它們的輸出和日志信息?使用docker logs,后面跟容器的名稱或者ID信息6、使用docker port 命令映射容器的端口時,系統報錯Error: No public port ‘80’ published for …,是什么意思?創建鏡像時Dockerfile要指定正確的EXPOSE的端口,容器啟動時指定PublishAllport=true7、可以在一個容器中同時運行多個應用進程嗎?一般不推薦在同一個容器內運行多個應用進程,如果有類似需求,可以通過額外的進程管理機制, 比如supervisord來管理所運行的進程8、如何控制容器占用系統資源(CPU,內存)的份額?在使用docker create命令創建容器或使用docker run 創建并運行容器的時候,可以使用 -c|–cpu-shares[=0]參數來調整同期使用CPU的權重,使用-m|–memory參數來調整容器使用內存的大小。倉庫相關1、倉庫(Repository)、注冊服務器(Registry)、注冊索引(Index)有何關系?首先,倉庫是存放一組關聯鏡像的集合,比如同一個應用的不同版本的鏡像,注冊服務器是存放實際的鏡像 的地方,注冊索引則負責維護用戶的賬號,權限,搜索,標簽等管理。注冊服務器利用注冊索引來實現認證等 管理。1、Docker能在非Linux平臺(Windows+MacOS)上運行嗎?可以2 、如何將一臺宿主機的docker環境遷移到另外一臺宿主機?停止Docker服務,將整個docker存儲文件復制到另外一臺宿主機上,然后調整另外一臺宿主機的配置即可

Docker入門到部署Web程序

一、Docker概述:Docker: 本意是碼頭工人,言外之意是集裝箱;Java號稱“一次編譯,到處運行”,因為java虛擬機解決平臺的兼容性問題,所以有java虛擬機的地方就能跑 java代碼;Docker是:“一次封裝,到處運行”,因為docker決絕了應用環境的問題,安裝了docker的平臺就能跑 “docker包”,這樣就決絕了“開發環境能跑,一上線就崩”的尷尬。一個完整的Docker有以下幾個部分組成: 1.DockerClient客戶端 2.Docker Daemon守護進程 3.Docker Image鏡像 4.DockerContainer容器 [2]Docker 是一個基于Linux容器(LXC-linux container)的高級容器引擎,基于go語言開發,源代碼托管 在 Github 上, 遵從Apache2.0協議開源。Docker的目標是實現輕量級的操作系統虛擬化解決方案。學習Docker首先要了解幾個概念: 1.鏡像—Docker的鏡像和常見的系統ISO鏡像類似,包含了應用程序的信息; 2.容器—容器相當于一個可以運行起來的虛擬機,應用程序運行在容器中,Docker運行在“Docker”上; 3.倉庫—倉庫是存放鏡像的地方,有類似git的版本控制,同樣分為公開倉庫(Public)和私有倉庫(Private) 兩種形式; 4.Docker支持大部分的Linux發行版,通過使用Docker容器,就可以在不同的操作系統, 5.不同的機器上運行自己的應用,不用關心硬件、運行環境之類的配置,應用程序的遷移變得非常簡單。二、Docker和傳統虛擬化技術的對比1.相比傳統虛擬機技術,Docker資源占用少,啟動更快,很大的方便了項目的部署和運維。2.Docker是在操作系統層面上實現虛擬化,復用本地主機的操作系統,傳統方式是在硬件的基礎上, 虛擬出多個操作系統,然后在系統上部署相關的應用。就像一個集裝箱一樣,不管需要運送服裝還是化工產品,還是汽車,只需要放在集裝箱里面,不管到那個船 上,也不管到那個鐵路上,我直接機械化的搬運就行了。三、真正的部署一下Dock的開發環境首先要安裝VMware 虛擬機和 并下載Centos 操作系統,然后安裝上 Linux 環境,(1)直接使用yum 安裝 docker:首先肯定是要機器中安裝了docker,如果沒安裝就是用yum install -y docker 命令安裝一下 yum install -y docker既然是部署web應用,那么當然少不了Tomcat了,所以我們應該先拉取Tomcat鏡像。命令如下,(開始的時候,我還跑到網上去下載tomcat,后來發現,根本不需要,直接用docker拉取就行了) docker pull tomcat這個鏡像有點大,所以可以事先拉取好,節省時間。接下來我們就用Tomcat鏡像來啟動一個容器 docker run -it --name webdemo -p 80:8080 tomcat /bin/bash這里我們啟動一個交互式的容器,名字是webdemo,-p 80:8080表示將容器的8080端口映射到主機的80 端口,這樣我們只要訪問主機的80端口就可以訪問到容器的服務了。容器創建好了之后是會進入容器里面的,這時我們剛好可以看看內部的文件結構。那里有個webapps文件, 我們只要把我們的web應用程序保存成war包的格式,然后再復制到這個文件中就可以了。因為Tomcat會自動 幫我們解壓并且部署war包。(1) 安裝 docker:yum install -y docker(2) 啟動 docker服務:service docker start //啟動docker service如果想要關閉docker服務:service docker stop(3) 獲取鏡像:sudo docker pull NAME[:TAG] sudo docker pull centos:latest比如獲取tomcat 鏡像:docker pull tomcat //命令格式: docker pull NAME(4) 羅列所有鏡像:docker images(5)、刪除鏡像,從本地刪除一個已經下載的鏡像sudo docker rmi IMAGE [IMAGE...] sudo docker rmi centos:latest(5)創建docker容器 并進入 webdemo1:docker run -it --name webdemo1 -p 81:8080 tomcat /bin/bash(6)啟動一個停止的容器:docker start webdemo(7) 羅列所有的docker容器:包含了啟動的Docker和沒有啟動的容器Dockerdocker ps -a;(8) 啟動容器:docker start webdemo可能端口會被占用,我們可以先把運行的docker實例停掉,然后再刪掉,docker kill webdemodocker rm webdemo(10)拷貝文件從主機復制到容器 sudo docker cp host_path containerID:container_path從容器復制到主機 sudo docker cp containerID:container_path host_path請注意,以上這兩個命令都是在主機中執行的,不能再容器中執行docker cp /root/software/docker.war webdemo:/docker cp demo:/abc.txt /root/software/(10) 在容器中啟動tomcat: cd /usr/local/tomcat/bin./catalina.sh run(11)記住一個服務器可以有多個容器,但是一個服務器只需要安裝一個tomcat,然后每個容器可以掛載到 不同的tomcat的端口上面,就是這關系。前臺訪問:http://192.168.163.128:80/docker //這是第一個容器webdemohttp://192.168.163.128:81/docker; //這是第二個容器webdemo1Docker的優點:Docker五大優勢:持續集成、版本控制、可移植性、隔離性和安全性

?

總結

以上是生活随笔為你收集整理的Docker 常见问题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。