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
是相對位址,則它是相對於當前工作目錄的。
關於拷貝的檔案的許可權,分兩種情況:
- 從宿主機拷貝到容器:拷貝後檔案的uid
,gid
都是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
,/sys
,dev
和容器中使用者掛在的檔案是不能拷貝的。
有乙個特殊的符號-
,用途比較特殊:
當-
作為第乙個引數替代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的執行庫作為映象,無需安裝。然後,通過構建...