當前位置:首頁 » 文件管理 » docker緩存

docker緩存

發布時間: 2022-02-12 01:53:33

① docker文件夾里UCDownloads的Cache裡面的httpCache是什麼文件

網頁緩存文件!

② 誰可以簡單介紹一下docker到底是干什麼用的

參考sf上好雨科技的回答:
docker主要有2大核心貢獻和對於軟體交付的影響:
2大貢獻:
1、封裝,將運行環境與代碼封裝到一個盒子中
2、鏡像倉庫,將鏡像以類似代碼倉庫的方式分發

軟體交付的影響:作為一個IT界「集裝箱」 它把整個軟體交付的流程和方式都改變了,就相當於 集裝箱 一樣改變了整個航運、空運、陸運的方式,讓生產者產出的產品到最終用戶完全一致,無論中途經過多少過程。有了這個核心的「集裝箱」 整個生態都圍著它打轉。

③ docker pull 特別慢怎麼救

清理手機緩存文件,可以嘗試以下方法進行清理:
1、手機安裝一個騰訊手機管家,在健康優化裡面點一下垃圾清理,再選擇垃圾掃描,掃描完成後立即清理按完成就可以了。
2、在設置裡面可以對應用程序進行單個清理緩存。設置-更多設置-應用程序-選擇要清理的程序-清除緩存和數據。
3、以上還無法清除干凈的話可以選擇恢復出廠設置,這樣可以清除所有數據。不過清理之前要做好備份處理,否則會導致所以數據丟失。

④ 如何使用Docker構建運行時間較長的腳本

問題
讓我們從這個我試圖解決的問題開始。我開發了一個會運行很長時間的構建腳本,這個腳本中包含了很多的步驟。
這個腳本會運行1-2個小時。
它會從網路下載比較大的文件(超過300M)。
後面的構建步驟依賴前期構建的庫。
但最最煩人的是,運行這個腳本真的需要花很長的時間。
文件系統是固有狀態
我們一般是通過一種有狀態的方式與文件系統進行交互的。我們可以添加、刪除或移動文件。我們可以修改文件的 許可權或者它的訪問時間。大部分獨立的操作都可以撤銷,例如將文件移動到其它地方後,你可以將文件恢復到原來的位置。但我們不會通過快照的方式來將它恢復到 原始狀態。這篇文章我將會介紹如何在耗時較長的腳本中充分利用快照這一特性。
使用聯合文件系統的快照
Docker使用的是聯合文件系統叫做AUFS(譯者註:簡單來說就是支持將不同目錄掛載到同一個虛擬文件系統下的文件系統)。聯合文件系統實現了Union mount。顧名思義,也就是說不同的文件系統的文件和目錄可以分層疊加在單個連貫文件系統之上。這是通過分層的方式完成的。如果一個文件出現在兩個文件系統,那最高層級的文件才會顯示(該文件其它版本也是存在於層級中的,不會改變,只是看不到的)。
在Docker中,每一個在Union mount轉哦給你的文件系統都被稱為layers(層)。使用這種技術可以輕松實現快照,每個快照都是所有層的一個Union mount。
生成腳本的快照
使用快照可以幫助構建一個長時運行的腳本。總的想法是,將一個大的腳本分解為許多小的腳本(我喜歡稱之為 scriptlets),並單獨運行這些小的腳本,腳本運行後為其文件系統打一個快照 (Docker會自動執行此操作)。如果你發現一個scriptlet運行失敗,你可以快速回退到上次的快照,然後再試一次。一旦你完成腳本的構建,並且 可以保證腳本能正常工作,那你就可以將它分配給其它主機。
回過頭來再對比下,如果你沒有使用快照功能了?當你辛辛苦苦等待了一個半小時後,腳本卻構建失敗了,我想除了少部分有耐心的人外,很多人是不想再來一次了,當然,你也會盡最大努力把系統恢復到失敗前的狀態,比如可以刪除一個目錄或運行make clean。
但是,我們可能沒有真正地理解我們正在構建的組件。它可能有復雜的Makefile,它會把把文件放到文件系統中我們不知道的地方,唯一真正確定的途徑是恢復到快照。
使用快照構建腳本的Docker
在本節中,我將介紹我是如何使用Docker實現GHC7.8.3 ARM交叉編譯器的構建腳本。Docker非常適合做這件事,但並非完美。我做了很多看起來沒用的或者不雅的事情,但都是必要的,這都是為了保證將開發腳本的總時間降到最低限度。構建腳本可以在這里找到。
用Dockerfile構建
Docker通過讀取Dockerfile來構建鏡像。Dockerfile會通過一些命令來具體指定應該執行哪些動作。具體使用說明可以參考這篇文章。在我的腳本中主要用到WORKDIR、ADD和RUN。ADD命令非常有用因為它可以讓你在運行之前將外部文件添加到當前Docker鏡像中然後轉換成鏡像的文件系統。你可以在這里看到很多scriptlets構成的構建腳本。
設計
1. 在RUN之前ADD scriptlets
如果你很早就將所有的scriptletsADD在Dockerfile,您可能會遇到以下問題:如果你的腳本構建失敗,你回去修改scriptlet並再次運行docker build。但是你發現,Docker開始在首次加入scriptlets的地方構建!這樣做會浪費了大量的時間並且違背了使用快照的目的。
出現這種情況的原因是由於Docker處理它的中間鏡像(快照)的方式。當Docker通過Dockerfile構建鏡像時,它會與中間鏡像比較當前命令是否一致。然而,在ADD命令的情況下被裝進鏡像的文件里的內容也會被檢查。如果相對於現有的中間鏡像,文件已經改變,那麼Docker也別無選擇,只能從這點開始建立一個新的鏡像。因為Docker不知道這些變化會不會影響到構建。
此外,使用RUN命令要注意,每次運行時它都會導致文件系統有不同的更改。在這種情況下,Docker會發現中間鏡像並使用它,但是這將是錯誤的。RUN命令每次運行時會造成文件系統相同的改變。舉個例子,我確保在我的scriptlets我總是下載了一個已知版本的文件與一個特定MD5校驗。
對Docker 構建緩存更詳細的解釋可以在這里找到。
2.不要使用ENV命令來設置環境變數,請使用scriptlet。
它似乎看起來很有誘惑力:使用ENV命令來設置所有構建腳本需要的環境變數。但是,它不支持變數替換的方式,例如 ENV BASE=$HOME/base 將設置BASE的值為$HOME/base著很可能不是你想要的。
相反,我用ADD命令添加一個名為set-env.sh文件。此文件會包含在後續的scriptlet中:
THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $THIS_DIR/set-env-1.sh
如果你沒有在第一時間獲取set-env.sh會怎麼樣呢?它很早就被加入Dockerfile並不意味著修改它將會使隨後的快照無效?
是的,這會有問題。在開發腳本時,我發現,我已經錯過了在set-env.sh添加一個有用的環境變數。解決方案是創建一個新的文件set-env-1.sh包含:
THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $THIS_DIR/set-env.sh
if ! [ -e "$CONFIG_SUB_SRC/config.sub" ] ; then
CONFIG_SUB_SRC=${CONFIG_SUB_SRC:-$NCURSES_SRC}
fi
然後,在所有後續的scriptlets文件中包含了此文件。現在,我已經完成了構建腳本,我可以回去解決這個問題了,但是,在某種意義上,它會破壞最初的目標。我將不得不從頭開始運行構建腳本看看這種變化是否能成功。
缺點
一個主要缺點是這種方法是,所構建的鏡像尺寸是大於它實際需求的尺寸。在我的情況下尤其如此,因為我在最後刪除了大量文件的。然而,這些文件都仍然存在於聯合掛載文件系統的底層文件系統內,所以整個鏡像是大於它實際需要的大小至少多餘的是刪除文件的大小。
然而,有一個變通。我沒有公布此鏡像到Docker Hub Registry。相反,我:
使用docker export導出內容為tar文件。
創建一個新的Dockerfile簡單地添加了這個tar文件的內容。
產生尺寸盡可能小的鏡像。
結論
這種方法的優點是雙重的:
它使開發時間降至最低,不再做那些已經構建成功的子組件。你可以專注於那些失敗的組件。
這非常便於維護構建腳本。構建可能會失敗,但只要你搞定Dockerfiel,至少你不必再從頭開始。
此外,正如我前面提到的Docker不僅使寫這些構建腳本更加容易,有了合適的工具同樣可以在任何提供快照的文件系統實現。

⑤ 如何使用Docker開源倉庫建立代理緩存倉庫

開源Docker倉庫v2 的其中一個最新特性:能夠被用作代理緩存倉庫,以緩存Docker Hub上的鏡像。運行一個緩存倉庫允許你在本地儲存鏡像,減少過多的通過互聯網從Docker Hub拉取鏡像,這個特性對於一些在他們環境中擁有數量龐大的Docker引擎的用戶來說很有用。跟著本篇教程,你可以讓Docker引擎從本地代理緩存倉庫拉取鏡像,而不是讓每個引擎總是從Docker Hub拉取,從而節省時間和帶寬。

你可以這樣開始:
####要求:
- Docker引擎1.8.3
- Docker倉庫v2
- 足夠儲存Docker鏡像的磁碟空間
- TLS證書和密鑰
持久化數據
在這個例子中,我們會假設你會儲存所有持久化數據在本地文件系統的<code>/data</code>路徑下,這個路徑下包含TLS證書和密鑰文件,配置文件和鏡像緩存文件。我們之後會用卷掛載這個目錄進運行倉庫的容器。
保護你的代理緩存倉庫安全
代理緩存倉庫需要一個TLS證書來保證Docker引擎和緩存倉庫之間的連接安全,在這個例子中,我們會放置我們證書文件(<code>domain.crt</code>)和密鑰文件(<code>domain.key</code>)在主機的<code>/data</code>目錄。
更多關於使用TLS加強倉庫安全的信息,請參照 Docker倉庫2.0文檔 。
創建代理緩存倉庫配置文件
下一步你需要創建一個配置文件,來把這個倉庫用作代理緩存。你可以用cat命令把<code>registry:2</code>鏡像中的預設配置文件重定向輸出到一個文件中:
sh
$ docker run -it --rm --entrypoint cat registry:2 \
/etc/docker/registry/config.yml > /data/config.yml

<code>我強烈建議從Docker鏡像中獲得這個默認配置,而不是使用例子中的配置,因為將來這個默認配置可能會有更新。</code>
默認的config.yml例子:
yaml
version: 0.1
log:
fields
service: registry
storage:
cache:
layerinfo: inmemory
filesystem:
rootdirectory: /var/lib/registry
http:
addr: :5000

修改'http'這節配置上TLS:
yaml
http:
addr: :5000
tls:
certificate: /var/lib/registry/domain.crt
key: /var/lib/registry/domain.key

在配置文件中新加一節'proxy'來開啟緩存:
點擊打開文檔( https://github.com/docker/dist ... or.md )
yaml
proxy:
remoteurl: https://registry-1.docker.io
username: [username]
password: [password]

'username'和'password'這兩個選項是可選的,這是Docker Hub賬號的用戶名和密碼,設置上這兩個選項,會使代理緩存倉庫獲取到這個賬號的同等許可權,也就是說,這個用戶有許可權獲取的鏡像,這個緩存倉庫同樣有許可權獲取。
<code>請確保完全理解設置這個Docker Hub賬號背後意味著什麼,並且確保你鏡像的安全還有嚴格的訪問許可權!如果你不確定,請不要再配置包含用戶名和密碼,那麼你的代理緩存倉庫就只會緩存公共鏡像。</code>
啟動代理緩存倉庫的容器:
sh
$ docker run -d --restart=always -p 5000:5000 --name v2-mirror \
-v /data:/var/lib/registry registry:2 /var/lib/registry/config.yml

以上命令使用一個卷把宿主機上的/data掛載進了容器中,使容器能使用持久儲存鏡像緩存,TLS證書和密鑰,還有自定義的倉庫配置文件。
驗證你的代理緩存倉庫已經啟動並正常運行:
sh
$ curl -I https://mycache.example.com:5000/v2/
HTTP/1.1 200 OK
Content-Length: 2
Content-Type: application/json; charset=utf-8
Docker-Distribution-Api-Version: registry/2.0
Date: Thu, 17 Sep 2015 21:42:02 GMT

配置你的Docker引擎使用代理緩存倉庫
修改Docker守護進程的啟動參數,加上<code>--registry-mirror</code>選項:
sh
--registry-mirror=https://<my-docker-mirror-host>:<port-number>

例如,如果你的緩存倉庫的主機名為mycache.example.com並且倉庫服務埠為5000,你需要加上以下選項到守護進程的參數:
sh
--registry-mirror=https://mycache.example.com:5000

參考 在各種的linux分發版中配置運行Docker 了解更多信息關於如何添加Docker守護進程參數。
測試你的代理緩存倉庫
從Docker Hub上拉取一個你本地沒有的鏡像。例如,busybox:latest鏡像:
sh
$ docker pull busybox:latest

檢查緩存倉庫中的目錄,驗證busybox鏡像是否被緩存:
sh
$ curl https://mycache.example.com:5000/v2/_catalog
{"repositories":["library/busybox"]}

你也可以驗證latest標簽是否被緩存:
sh
$ curl https://mycache.example.com:5000/v2/library/busybox/tags/list
{"name":"library/busybox","tags":["latest"]}

現在開始當你拉取鏡像時,鏡像將被緩存到你的代理緩存倉庫,之後拉取相同的鏡像時會更快,並且這些鏡像緩存會維護自身,當他們不再被使用時將會自動清除。

⑥ Docker的主要作用是什麼

目前來看,Docker至少有以下應用場景:

1)測試:Docker 很適合用於測試發布,將 Docker 封裝後可以直接提供給測試人員進行運行,不再需要測試人員與運維、開發進行配合,進行環境搭建與部署。

2)測試數據分離:在測試中,經常由於測試場景變換,需要修改依賴的資料庫數據或者清空變動 memcache、Redis 中的緩存數據。Docker 相較於傳統的虛擬機,更輕量與方便。可以很容易的將這些數據分離到不同的鏡像中,根據不同需要隨時進行切換。

3)開發:開發人員共同使用同一個 Docker 鏡像,同時修改的源代碼都被掛載到本地磁碟。不再因為環境的不同而造成的不同程序行為而傷透腦筋,同時新人到崗時也能迅速建立開發、編譯環境。

4)PaaS 雲服務:Docker 可以支持命令行封裝與編程,通過自動載入與服務自發現,可以很方便的將封裝於 Docker 鏡像中的服務擴展成雲服務。類似像 Doc 轉換預覽這樣的服務封裝於鏡像中,根據業務請求的情況隨時增加和減少容器的運行數量,隨需應變。

具體到Docker技術在測試領域的應用,可以體現在:

1)快速搭建兼容性測試環境

從Docker的鏡像與容器技術特點可以預見,當被測應用要求在各類Web伺服器、中間件、資料庫的組合環境中得到充分驗證時,可以快速地利用基礎Docker鏡像創建各類容器,裝載相應的技術組件並快速啟動運行,測試人員省去了大量花在測試環境搭建上的時間。

2)快速搭建復雜分布式測試環境

Docker的輕量虛擬化特點決定了它可以在一台機器上(甚至是測試人員的一台筆記本電腦上)輕松搭建出成百上千個分布式節點的容器環境,從而模擬以前需要耗費大量時間和機器資源才能搭建出來的分布式復雜測試環境。

3)持續集成

Docker可以快速創建和撤銷容器,在持續集成的環境中,可以頻繁和快速地進行部署和驗證工作。

⑦ mac 卸載了docker 還佔用60g 的磁碟

下載的docker鏡像沒刪吧?
你只是卸載了docker程序
另外可能還有日誌、緩存之類的,卸載後也要清理一下。

⑧ 如何清理docker產生的垃圾文件

試試騰訊電腦管家,打開騰訊電腦管家——清理垃圾
當清理的內容包含電腦過程中產生的信息,如在線緩存文件,網路游戲補丁,聊天時產生的圖片等,以及清理過程會關閉正在運行的程序時,都會在你確認後進行清理,深度清理,更深層次地清潔你的電腦。
在基礎清理完成後,如果有以上需要清理的內容,會在界面上展示可深度清理的內容,你只需按照自己的情況,相應勾選無用的文件將其清理。

⑨ 三星A7手機儲存其它里的docker可以刪除嗎

手機內存中的文件有很多,不建議您輕易刪除,如果誤刪系統文件的數據,可能導致手機軟體的無法正常運行。您可以將一些多媒體文件如圖片、音樂、視頻等刪除。
若您的手機提示內存不足,建議您:
1.通過內存管理器刪除緩存、殘留和廣告文件等不必要的數據;結束後台應用程序;關閉不需要自啟動的程序。
2.將多媒體文件移動到擴展卡或將拍攝存儲路徑設置為擴展卡。
3.卸載不經常使用的軟體或文件。
4.若依然提示內存不足,建議備份手機中數據,將機器恢復出廠設置。

⑩ 如何使用 的 docker hub緩存服務

推薦使用Dockerfile方式。
服務的管理使用的是supervisord, 因為dockerfile里只會有一個cmd生效,如果我想通過ssh去管理容器還要有mysql服務的啟動起來 cmd的方式就無法實現,當然容器不需要以sshd的方式去管理,這些也都是看自己怎麼去使用,比如說我想備份容器里的數據 我完全可以使用 –volumes-from <容器name> , 重啟使用 docker restart <容器id>, 我個人也是使用ssh習慣了 所以依賴的鏡像把ssh服務栽進去了。
# docker 版本:

復制代碼
代碼如下:
[root@private_network mysql]# docker version

Client version: 1.6.0-rc5
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): fc4825d
OS/Arch (client): linux/amd64
Server version: 1.6.0-rc5
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): fc4825d
OS/Arch (server): linux/amd64[/code]

熱點內容
勞拉與馬ftp 發布:2024-10-25 00:21:16 瀏覽:356
奪寶網站源碼 發布:2024-10-25 00:19:02 瀏覽:451
編程文本編輯器 發布:2024-10-25 00:09:28 瀏覽:968
編程徐帥 發布:2024-10-25 00:03:25 瀏覽:302
手機安卓模擬器如何打開文件 發布:2024-10-25 00:02:55 瀏覽:717
pythonday 發布:2024-10-24 23:55:47 瀏覽:422
g編譯c文件 發布:2024-10-24 23:55:03 瀏覽:290
電信上傳速度限制破解 發布:2024-10-24 23:44:17 瀏覽:450
戰地五為什麼連接不了伺服器 發布:2024-10-24 23:37:36 瀏覽:480
安卓如何下載國外網站 發布:2024-10-24 23:30:35 瀏覽:132