docker-管理鏡像常用命令


1. docker管理鏡像常用命令

指令 說明
docker   run     [容器 CONTAINER ID]

創建一個新的容器並運行一個命令

docker   start   [容器 CONTAINER ID]

啟動一個或多個已經被停止的容器

docker  stop    [容器 CONTAINER ID] 停止一個運行中的容器
docker  restart  [容器 CONTAINER ID] 重啟容器
docker  kill  [容器 CONTAINER ID] 殺掉一個運行中的容器
docker  rm  [容器 CONTAINER ID]

刪除一個或多少容器
-f:通過SIGKILL信號強制刪除一個運行中的容器
-l:移除容器間的網絡連接,而非容器本身
-v:刪除與容器關聯的卷

docker pause   [容器 CONTAINER ID]

暫停容器中所有的進程

docker unpause   [容器 CONTAINER ID] 恢復容器中所有的進程
docker create    創建一個新的容器但不啟動它
docker  exec     [容器 CONTAINER ID] 在運行的容器中執行命令
docker  ps     [OPTIONS]

-a :顯示所有的容器,包括未運行的。
-f :根據條件過濾顯示的內容。
--format :指定返回值的模板文件。
-l :顯示最近創建的容器。
-n :列出最近創建的n個容器。
--no-trunc :不截斷輸出。
-q :靜默模式,只顯示容器編號。

-s :顯示總的文件大小

docker inspect   [容器 CONTAINER ID]

獲取容器/鏡像的元數據。
  -f :指定返回值的模板文件。
  -s :顯示總的文件大小。
  --type :為指定類型返回JSON。

docker top   [容器 CONTAINER ID]

查看容器中運行的進程信息,支持 ps 命令參數。

docker attach  [容器 CONTAINER ID] 連接到正在運行中的容器。
docker events   [OPTIONS]

-f :根據條件過濾事件;
--since :從指定的時間戳后顯示所有事件;
--until :流水時間顯示到指定的時間為止;
docker events --since="2018-11-15"

docker logs  [OPTIONS]    [容器 CONTAINER ID]

參數
  -f : 跟蹤日志輸出
  --since :顯示某個開始時間的所有日志
  -t : 顯示時間戳
  --tail :僅列出最新N條容器日志
跟蹤查看容器nginx的日志輸出
  [root@test-2 ~]# docker logs -f 8a4317175b4e
  172.17.0.1 - - [15/Nov/2018:10:04:45 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
  172.17.0.1 - - [15/Nov/2018:10:04:55 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
查看容器nginx從2018年11月15日后的最新1條記錄
  [root@test-2 ~]# docker logs --since="2018-11-15" --tail=1 8a4317175b4e

docker wait     [容器 CONTAINER ID] 阻塞運行直到容器停止,然后打印出它的退出代碼。
docker export [OPTIONS][容器 CONTAINER ID]

將文件系統作為一個tar歸檔文件導出到STDOUT。
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2

docker port   [容器 CONTAINER ID]

列出指定的容器的端口映射,或者查找將PRIVATE_PORT NAT到面向公眾的端口。

docker commit  

從容器創建一個新的鏡像。
  語法:
  docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
options說明
  -a :提交的鏡像作者;
  -c :使用Dockerfile指令來創建鏡像;
  -m :提交時的說明文字;
  -p :在commit時,將容器暫停。
案例:
  docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
  將容器a404c6c174a2 保存為新的鏡像,並添加提交人信息和說明信息。

 docker cp

用於容器與主機之間的數據拷貝。

docker diff 檢查容器里文件結構的更改。
docker  login/logout

docker login : 登陸到一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub
docker logout : 登出一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub
語法:
  docker login [OPTIONS] [SERVER]
  docker logout [OPTIONS] [SERVER]
OPTIONS說明:
  -u :登陸的用戶名
  -p :登陸的密碼
案例:
  登陸到Docker Hub
    docker login -u 用戶名 -p 密碼
  登出Docker Hub
    docker logout

docker  pull

從鏡像倉庫中拉取或者更新指定鏡像
語法:
  docker pull [OPTIONS] NAME[:TAG|@DIGEST]
PTIONS說明:
  -a :拉取所有 tagged 鏡像
  --disable-content-trust :忽略鏡像的校驗,默認開啟
實例:
  從docker hub 下載nginx最新鏡像
    docker pull nginx
  從docker hub下載nginx的所有鏡像
    docker pull -a nginx

docker push [OPTIONS] NAME[:TAG]

將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫
案例:
  上傳本地鏡像myapache:v1到鏡像倉庫中。
  docker push myapache:v1

docker search  [鏡像名稱]

從docker hub查找鏡像

docker images

列出本地鏡像

docker rmi [鏡像名稱]

語法:
  docker rmi [OPTIONS] IMAGE [IMAGE...]
OPTIONS說明:
  -f :強制刪除;
  --no-prune :不移除該鏡像的過程鏡像,默認移除;
實例:
  強制刪除本地鏡像runoob/ubuntu:v4。
  docker rmi -f runoob/ubuntu:v4。

docker tag

標記本地鏡像,將其歸入某一個倉庫
語法
  docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
實例:
  將鏡像ubuntu:15.10標記為 runoob/ubuntu:v3 鏡像。
  docker tag ubuntu:15.10 runoob/ubuntu:v3

docker build

命令用於使用 Dockerfile 創建鏡像。
語法
  docker build [OPTIONS] PATH | URL | -
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 創建鏡像,標簽為 runoob/ubuntu:v1。
    docker build -t runoob/ubuntu:v1 .
  使用URL github.com/creack/docker-firefox 的 Dockerfile 創建鏡像。
    docker build github.com/creack/docker-firefox
  也可以通過 -f Dockerfile 文件的位置
    docker build -f /path/to/a/Dockerfile .
  在 Docker 守護進程執行 Dockerfile 中的指令前,首先會對 Dockerfile 進行語法檢查,有語法錯誤時會返回:
    docker build -t test/myapp .

docker  history [鏡像名稱]

查看指定鏡像的創建歷史。
語法:
  docker history [OPTIONS] IMAGE
OPTIONS說明:
  -H :以可讀的格式打印鏡像大小和日期,默認為true;
  --no-trunc :顯示完整的提交記錄;
  -q :僅列出提交記錄ID。
實例:
  查看本地鏡像nginx的創建歷史。
  [root@test-2 ~]# docker history nginx
  IMAGE CREATED CREATED BY SIZE COMMENT
  62f816a209e6 9 days ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon… 0B
  <missing> 9 days ago /bin/sh -c #(nop) STOPSIGNAL [SIGTERM] 0B
  <missing> 9 days ago /bin/sh -c #(nop) EXPOSE 80/tcp 0B
  <missing> 9 days ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx… 22B
  <missing> 9 days ago /bin/sh -c set -x && apt-get update && apt… 53.8MB
  <missing> 9 days ago /bin/sh -c #(nop) ENV NJS_VERSION=1.15.6.0.… 0B
  <missing> 9 days ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.15.6-… 0B
  <missing> 4 weeks ago /bin/sh -c #(nop) LABEL maintainer=NGINX Do… 0B
  <missing> 4 weeks ago /bin/sh -c #(nop) CMD ["bash"] 0B
  <missing> 4 weeks ago /bin/sh -c #(nop) ADD file:f8f26d117bc4a9289… 55.3MB

docker save 將指定鏡像保存成 tar 歸檔文件。
docker import

從歸檔文件中創建鏡像
語法
  docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
OPTIONS說明:
  -c :應用docker 指令創建鏡像;
  -m :提交時的說明文字;
實例:
  從鏡像歸檔文件my_ubuntu_v3.tar創建鏡像,命名為runoob/ubuntu:v4

docker info 

顯示 Docker 系統信息,包括鏡像和容器數。。

語法:

  docker info [OPTIONS]

docker version 

顯示Docker版本信息。

語法:

  docker version [options]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM