Docker命令解讀 四

2021-07-30 19:00:40 字數 3152 閱讀 3660

title: docker命令解讀(四)

date: 2015-11-23 10:04:19

tags: docker

docker命令解讀系列文章將系統講解docker使用的命令,方便大家學習docker的基本操作。在寫這個系列文章的時候,主要參考了docker官方的文件,有些內容是直接的翻譯。原文件位址 docker docs

* diff

usage:  docker cp [options] container:path localpath|-

docker cp [options] localpath|- container:path

copy files/folders between a container and the local filesystem

use '-' as the source to read a tar archive from stdin

and extract it to a directory destination in a container.

use '-' as the destination to stream a tar archive of a

container source to stdout.

--help=false print usage

usage的第一行是將容器中的檔案或目錄拷貝到宿主機上;第二行是將宿主機上的檔案或目錄拷貝到容器中的某個資料夾中。

對正在執行的或已經停止的容器都可以執行cp命令,path可以是乙個目錄,也可以是檔案。docker預設container:path指向的檔案或資料夾是相對於/根目錄的,也就是說,path最前面的/是可選的。

如果localpath是相對位址,則它是相對於當前工作目錄的。

關於拷貝的檔案的許可權,分兩種情況:

- 從宿主機拷貝到容器:拷貝後檔案的uidgid都是root使用者對應的id。

- 從容器拷貝到宿主機:拷貝後檔案的uid,和gid都是執行cp命令的使用者的相應id。

下面用src_path表示原始檔的位置,dst_path表示要拷貝到的位置,拷貝的結果有如下幾種情況:

-src_path指向乙個檔案:

-dst_path指向的位址不存在:在dst_path指向的位置建立檔案並儲存;

-dst_path指向的位址不存在且以/結尾:報錯,指定的目的資料夾必須存在;

-dst_path存在且是乙個檔案:dst_path指向的檔案被src_path指向的檔案的內容覆蓋;

-dst_path存在且指向乙個目錄:檔案被拷貝到目的資料夾中,且檔名不變。

-src_path指向乙個目錄:

-dst_path不存在:在dst_path位置建立資料夾並將src_path資料夾下的所有檔案拷貝到建立的資料夾下;

-dst_path存在但是乙個檔案:報錯,不能將資料夾拷貝為檔案;

-dst_path存在且是乙個資料夾:分兩種情況:

-src_path沒有以/.結尾:將src_path資料夾拷貝到dst_path資料夾下;

-src_path/.結尾:將src_path下的所有內容拷貝到dst_path資料夾下;

如果src_path指向乙個符號鏈結,則拷貝的是符號鏈結而不是鏈結指向的檔案。

一些系統檔案如/proc/sysdev和容器中使用者掛在的檔案是不能拷貝的。

有乙個特殊的符號-,用途比較特殊:

-作為第乙個引數替代localpath時(上面usage的第二行),會將乙個打包後的檔案寫入stdin並將其解壓到容器中的目的資料夾內,此時path引數必須是乙個資料夾。

-作為第二個引數替代localpath時(usage的第二行),會將容器中的內容打包成tar並通過stdout輸出。

usage: docker diff [options] container

inspect changes on a container's filesystem

--help=false print usage

列出容器中檔案系統的變化,關於檔案的三種操作會被列出:

-a- add 新增的檔案

-d- delete 刪除的檔案

-c- change 改變的檔案

示例:

$ docker diff 7bb0e258aefe

Docker命令解讀 八

title docker命令解讀 八 date 2015 11 25 09 49 29 tags docker docker命令解讀系列文章將系統講解docker使用的命令,方便大家學習docker的基本操作。在寫這個系列文章的時候,主要參考了docker官方的文件,有些內容是直接的翻譯。原文件位址...

Docker(四)容器相關命令

檢視正在執行的容器使用命令 docker ps 檢視所有容器使用命令 docker ps a 可以基於已有的映象來建立和啟動容器,建立與啟動容器使用命令 docker run 引數說明 1 互動式容器 以互動式方式建立並啟動容器,啟動完成後,直接進入當前容器。使用exit命令退出容器。需要注意的是以...

Docker官方文件解讀 2

docker run hello world 在過去,如果你寫乙個pyhton的應用,你的第一步是在你的機器上安裝python的開發環境。但是需要你的機器上的執行環境與應用程式完美適合,並且也需要匹配生產環境。利用docker,你能移植乙個便捷的python的執行庫作為映象,無需安裝。然後,通過構建...