Docker 基礎知識 - 使用 tmpfs 掛載(tmpfs mounts)管理應用程序數據

卷(volumes)綁定掛載(bind mounts) 容許您在主機和容器之間共享文件,這樣即便在容器中止後也能夠持久存儲數據。html

若是在 Linux 上運行 Docker,那麼還有第三種選擇:tmpfs 掛載。當您建立帶有 tmpfs 掛載的容器時,容器能夠在容器的可寫層以外建立文件。nginx

與卷和綁定掛載不一樣,tmpfs 掛載是臨時的,只存留在主機內存中。當容器中止時,tmpfs 掛載將被刪除,在那裏寫入的文件不會被持久化。docker

docker-types-of-mounts-tmpfs

這對於臨時存儲您不想在主機或容器可寫層中持久存儲的敏感文件很是有用。bash

tmpfs 掛載的侷限性

  • 不一樣於卷和綁定掛載,不能在容器之間共享 tmpfs 掛載。
  • 這個功能只有在 Linux 上運行 Docker 時纔可用。

選擇 --tmpfs--mount 標記

最初,--tmpfs 標記用於獨立容器,--mount 標記用於集羣服務。可是從 Docker 17.06 開始,您還能夠將 --mount 與獨立容器一塊兒使用。一般,--mount 標記表達更加明確和冗長。最大的區別是,--tmpfs 標記不支持任何可配置的選項。app

  • --tmpfs: 設置 tmpfs 掛載不容許您指定任何可配置選項,而且只能與獨立容器一塊兒使用。
  • --mount:由多個鍵-值對組成,,每一個鍵-值對由一個 <key>=<value> 元組組成。--mount 語法比 --tmpfs 更冗長:
    • 掛載的類型(type),能夠是 bindvolume 或者 tmpfs。本主題討論 tmpfs,所以類型(type)始終爲 tmpfs
    • 目標(destination),將容器中 tmpfs 掛載設置的路徑做爲其值。能夠用 destinationdst 或者 target 來指定。
    • tmpfs-sizetmpfs-mode 選項。請查看下文的 指定 tmpfs 選項

下面的示例儘量同時展現 --mount--tmpfs 兩種語法,而且先展現 --mountspa

--tmpfs--mount 行爲之間的差別

  • --tmpfs 標記不容許指定任何可配置選項。
  • --tmpfs 標記不能用於集羣服務。對於集羣服務,您必須使用 --mount

在容器中使用 tmpfs 掛載

要在容器中使用 tmpfs 掛載, 請使用 --tmpfs 標記, 或者使用帶有 type=tmpfsdestination 選項的 --mount 標記。沒有用於 tmpfs 掛載的源(source)。code

下面的示例在 Nginx 容器中的 /app 建立一個 tmpfs 掛載。第一個例子使用 --mount 標記,第二個使用 --tmpfs 標記。htm

--mountblog

$ docker run -d \
  -it \
  --name tmptest \
  --mount type=tmpfs,destination=/app \
  nginx:latest

--tmpfs內存

$ docker run -d \
  -it \
  --name tmptest \
  --tmpfs /app \
  nginx:latest

經過運行 docker container inspect tmptest 來驗證掛載是不是 tmpfs 掛載,查看 Mounts 部分:

"Tmpfs": {
    "/app": ""
},

刪除容器:

$ docker container stop tmptest

$ docker container rm tmptest

指定 tmpfs 選項

tmpfs 掛載容許兩個配置選項,兩個選項都不是必需的。 若是須要指定這些選項,則必須使用 --mount 標記,由於 --tmpfs 標記不支持。

選項 描述
tmpfs-size tmpfs 掛載的大小(以字節爲單位)。默認無限制。
tmpfs-mode tmpfs 的八進制文件模式。例如,7000770。默認爲 1777 或全局可寫。

下面的示例將 tmpfs-mode 設置爲 1770,所以在容器中它不是全局可讀的。

docker run -d \
  -it \
  --name tmptest \
  --mount type=tmpfs,destination=/app,tmpfs-mode=1770 \
  nginx:latest

做者 : Docker 官網
譯者 : 技術譯民
出品 : 技術譯站
連接 : 英文原文

相關文章
相關標籤/搜索