1. 程式人生 > >docker學習-常用命令2

docker學習-常用命令2

posit reat 數據拷貝 con -m 變量 默認值 更改 描述

三、容器管理命令
3.1 Docker commit 命令,從容器創建一個新的鏡像。
OPTIONS說明:
  -a :提交的鏡像作者;
  -c :使用Dockerfile指令來創建鏡像;
  -m :提交時的說明文字;
  -p :在commit時,將容器暫停。

實例:將容器6h04c6c178u7 保存為新的鏡像,並添加提交人信息和說明信息。
# docker commit -a "xliang" -m "web_db" 6h04c6c178u7 sql:v1

# docker images sql:v1
REPOSITORY TAG IMAGE ID CREATED SIZE


sql v1 6h04c6c178u7 01 seconds ago 325 MB


3.2 Docker cp 命令,用於容器與主機之間的數據拷貝。
OPTIONS說明:
  -L :保持源目標中的鏈接


實例:將主機/www/html目錄拷貝到容器6h04c6c178u7的/www目錄下。
# docker cp /www/html 6h04c6c178u7:/www/

將主機/www/html目錄拷貝到容器6h04c6c178u7中,目錄重命名為www。
# docker cp /www/html 6h04c6c178u7:/www

將容器6h04c6c178u7的/www目錄拷貝到主機的/tmp目錄中。


# docker cp 6h04c6c178u7:/www /tmp/


3.3 Docker diff 命令,檢查容器裏文件結構的更改。
實例
查看容器mysql的文件結構更改。
# docker diff mysql
A /logs
A /mysql_data
C /run
C /run/mysqld

四、鏡像倉庫命令
4.1 Docker login/logout 命令,登陸/登出到一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub
OPTIONS說明:
  -u :登陸的用戶名
  -p :登陸的密碼

實例
登陸到Docker Hub
# docker login -u 用戶名 -p 密碼

登出Docker Hub
# docker logout


4.2 Docker pull 命令,從鏡像倉庫中拉取或者更新指定鏡像
OPTIONS說明:
  -a :拉取所有 tagged 鏡像
  --disable-content-trust :忽略鏡像的校驗,默認開啟

實例:從Docker Hub下載mysql最新版鏡像。
# docker pull mysql


4.3 Docker push 命令,將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫
OPTIONS說明:
  --disable-content-trust :忽略鏡像的校驗,默認開啟

實例:上傳本地鏡像myapache:v1到鏡像倉庫中。
# docker push myapache:v1


4.4 Docker搜索命令,從Docker Hub查找鏡像
選項說明:
  --automated:只列出自動構建類型的鏡像;
  --no-trunc:顯示完整的鏡像描述;
  -s:列出收藏數不小於指定值的鏡像。

實例:從Docker Hub查找所有鏡像名包含mysql,並且收藏數大於10的鏡像
# docker search -s 10 mysql


五、本地鏡像管理命令
5.1 Docker images命令,列出本地鏡像。
選項說明:
  -a:列出本地所有的鏡像(含中間映像層,默認情況下,過濾掉中間映像層);
  --digests:顯示鏡像的摘要信息;
  -f:顯示滿足條件的鏡像;
  --format:指定返回值的模板文件;
  --no-trunc:顯示完整的鏡像信息;
  -q:只顯示鏡像ID。

實例:查看本地鏡像列表。
# docker images

列出本地鏡像中REPOSITORY為mysql的鏡像列表。
# docker images mysql


5.2 Docker rmi 命令,刪除本地一個或多少鏡像。
OPTIONS說明:
  -f :強制刪除;
  --no-prune :不移除該鏡像的過程鏡像,默認移除;
實例:強制刪除本地鏡像mysql
# docker rmi -f mysql


5.3 Docker tag 命令,標記本地鏡像,將其歸入某一倉庫。
實例:將鏡像mysql:5.6標記為 web/mysql:5.6 鏡像
# docker tag mysql:5.6 web/mysql:5.6


5.4 Docker build 命令,用於使用 Dockerfile 創建鏡像。
OPTIONS說明:
  --build-arg=[] :設置鏡像創建時的變量;
  --cpu-shares :設置 cpu 使用權重;
  --cpu-period :限制 CPU CFS周期;
  --cpu-quota :限制 CPU CFS配額;
  --cpuset-cpus :指定使用的CPU id;
  --cpuset-mems :指定使用的內存 id;
  --disable-content-trust :忽略校驗,默認開啟;
  -f :指定要使用的Dockerfile路徑;
  --force-rm :設置鏡像過程中刪除中間容器;
  --isolation :使用容器隔離技術;
  --label=[] :設置鏡像使用的元數據;
  -m :設置內存最大值;
  --memory-swap :設置Swap的最大值為內存+swap,"-1"表示不限swap;
  --no-cache :創建鏡像的過程不使用緩存;
  --pull :嘗試去更新鏡像的新版本;
  --quiet, -q :安靜模式,成功後只輸出鏡像 ID;
  --rm :設置鏡像成功後刪除中間容器;
  --shm-size :設置/dev/shm的大小,默認值是64M;
  --ulimit :Ulimit配置。
  --tag, -t: 鏡像的名字及標簽,通常 name:tag 或者 name 格式;可以在一次構建中為一個鏡像設置多個標簽。
  --network: 默認 default。在構建期間設置RUN指令的網絡模式

實例
使用當前目錄的 Dockerfile 創建鏡像,標簽為 web/nginx
# docker build -t web/nginx .

使用URL github.com/creack/docker-firefox 的 Dockerfile 創建鏡像。
# docker build github.com/creack/docker-firefox

也可以通過 -f Dockerfile 文件的位置:
# docker build -f /home/docke/Dockerfile .

在 Docker 守護進程執行 Dockerfile 中的指令前,首先會對 Dockerfile 進行語法檢查,有語法錯誤時會返回:
# docker build -t test/myapp .


5.5 Docker history 命令,查看指定鏡像的創建歷史
OPTIONS說明:
  -H :以可讀的格式打印鏡像大小和日期,默認為true;
  --no-trunc :顯示完整的提交記錄;
  -q :僅列出提交記錄ID。

實例:查看本地鏡像web/mysql的創建歷史。
# docker history web/mysql


5.6 Docker save 命令,將指定鏡像保存成 tar 歸檔文件。
OPTIONS說明:
  -o :輸出到的文件

實例:將鏡像web/mysql 生成mysql_5.6.tar文檔
# docker save -o mysql_5.6.tar web/mysql


5.7 Docker import 命令,從歸檔文件中創建鏡像。
OPTIONS說明:
  -c :應用docker 指令創建鏡像;
  -m :提交時的說明文字;

實例:從鏡像歸檔文件mysql_5.6.tar創建鏡像,命名為web/mysql5.6:v1
# docker import mysql_5.6.tar web/mysql5.6:v1

六、版本信息查看
6.1 Docker info 命令,顯示 Docker 系統信息,包括鏡像和容器數
實例:查看docker系統信息。
# docker info


6.2 Docker version 命令,顯示 Docker 版本信息。
OPTIONS說明:
  -f :指定返回值的模板文件。

實例:顯示 Docker 版本信息。
# docker version

docker學習-常用命令2