日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

docker命令整理

發布時間:2024/4/13 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker命令整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 語法
    • option
  • 管理命令
    • container
    • image
    • network
    • node
    • plugin
    • secret
    • service
    • stack
    • swarm
    • system
    • volume
  • 容器生命周期管理
    • run
    • start/stop/restart
    • kill
    • rm
    • pause/unpause
    • create
    • exec
  • 容器操作
    • ps
    • inspect
    • top
    • attach
    • events
    • logs
    • wait
    • export
    • port
  • 容器rootfs命令
    • commit
    • cp
    • diff
    • 鏡像倉庫 login
    • logout
    • pull
    • push
    • search
  • 本地鏡像管理
    • images
    • rmi
    • tag
    • build
    • history
    • save
    • load
    • import
  • info|version info
    • version

語法

docker COMMAND [options]

option

--config string Location of client config files (default "/root/.docker")-D, --debug Enable debug mode--help Print usage-H, --host list Daemon socket(s) to connect to (default [])-l, --log-level string Set the logging level ("debug", "info", "warn", "error", "fatal") (default "info")--tls Use TLS; implied by --tlsverify--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")--tlskey string Path to TLS key file (default "/root/.docker/key.pem")--tlsverify Use TLS and verify the remote-v, --version Print version information and quit

管理命令

container

管理containers。見后面

image

管理 images。見后面

network

管理networks。
語法:

docker network COMMAND

子命令

connect Connect a container to a networkcreate Create a networkdisconnect Disconnect a container from a networkinspect Display detailed information on one or more networksls List networksprune Remove all unused networksrm Remove one or more networks

node

管理Swarm節點。需要swarm。

plugin

管理plugins。
子命令:

create Create a plugin from a rootfs and configuration. Plugin data directory must contain config.json and rootfs directory.disable Disable a pluginenable Enable a plugininspect Display detailed information on one or more pluginsinstall Install a pluginls List pluginspush Push a plugin to a registryrm Remove one or more pluginsset Change settings for a pluginupgrade Upgrade an existing plugin

secret

管理Docker secrets。需要swarm。
子命令:

create Create a secret from a file or STDIN as contentinspect Display detailed information on one or more secretsls List secretsrm Remove one or more secrets

service

管理services。需要swarm。
子命令:

create Create a new serviceinspect Display detailed information on one or more servicesls List servicesps List the tasks of a servicerm Remove one or more servicesscale Scale one or multiple replicated servicesupdate Update a service

stack

管理Docker stacks。需要swarm。
子命令:

deploy Deploy a new stack or update an existing stackls List stacksps List the tasks in the stackrm Remove the stackservices List the services in the stack

swarm

Manage Swarm。

system

管理Docker。
子命令:

df Show docker disk usageevents Get real time events from the serverinfo Display system-wide informationprune Remove unused data

volume

管理volumes。
語法:

docker volume COMMAND

子命令

create Create a volumeinspect Display detailed information on one or more volumesls List volumesprune Remove all unused volumesrm Remove one or more volumes

容器生命周期管理

run

功能
創建一個新的容器運行一個命令
語法

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

參數
OPTIONS說明:
--a stdin: 指定標準輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項;
--d: 后臺運行容器,并返回容器ID;
--i: 以交互模式運行容器,通常與 -t 同時使用;
--P: 隨機端口映射,容器內部端口隨機映射到主機的高端口
--p: 指定端口映射,格式為:主機(宿主)端口:容器端口
--t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
-–name=“nginx-lb”: 為容器指定一個名稱;
-–dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致;
-–dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致;
--h “mars”: 指定容器的hostname;
--e username=“ritchie”: 設置環境變量;
-–env-file=[]: 從指定文件讀入環境變量;
-–cpuset=“0-2” or --cpuset=“0,1,2”: 綁定容器到指定CPU運行;
--m:設置容器使用內存最大值;
-–net=“bridge”: 指定容器的網絡連接類型,支持 bridge/host/none/container: 四種類型;
-–link=[]: 添加鏈接到另一個容器;
-–expose=[]: 開放一個端口或一組端口;
-–volume , -v: 綁定一個卷
示例

#使用docker鏡像nginx:latest以后臺模式啟動一個容器,并將容器命名為mynginx。 docker run --name mynginx -d nginx:latest #使用鏡像nginx:latest以后臺模式啟動一個容器,并將容器的80端口映射到主機隨機端口。 docker run -P -d nginx:latest #使用鏡像 nginx:latest,以后臺模式啟動一個容器,將容器的 80 端口映射到主機的 80 端口,主機的目錄 /data 映射到容器的 /data。 docker run -p 80:80 -v /data:/data -d nginx:latest #綁定容器的 8080 端口,并將其映射到本地主機 127.0.0.1 的 80 端口上。 $ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash #使用鏡像nginx:latest以交互模式啟動一個容器,在容器內執行/bin/bash命令。 runoob@runoob:~$ docker run -it nginx:latest /bin/bash

start/stop/restart

功能
docker start :啟動一個或多個已經被停止的容器
docker stop :停止一個運行中的容器
docker restart :重啟容器
語法

docker start [OPTIONS] CONTAINER [CONTAINER...] docker stop [OPTIONS] CONTAINER [CONTAINER...] docker restart [OPTIONS] CONTAINER [CONTAINER...]

參數
Options:
-a, --attach Attach STDOUT/STDERR and forward signals
–detach-keys string Override the key sequence for detaching a container
–help Print usage
-i, --interactive Attach container’s STDIN

kill

功能
殺掉一個運行中的容器。
語法

docker kill [OPTIONS] CONTAINER [CONTAINER...]

參數
OPTIONS說明:
--s:向容器發送一個信號
示例

#殺掉運行中的容器mynginx runoob@runoob:~$ docker kill -s KILL mynginx

rm

功能
刪除一個或多個容器。
語法

docker rm [OPTIONS] CONTAINER [CONTAINER...]

參數
OPTIONS說明:
--f:通過 SIGKILL 信號強制刪除一個運行中的容器。
--l:移除容器間的網絡連接,而非容器本身。
--v:刪除與容器關聯的卷。
stop,rm,kill區別

  • docker stop
    將容器保留在docker ps -a列表中(如果您想將其狀態保存在新image中,則可以提交該容器)。它先發送SIGTERM,然后在寬限期之后發送SIGKILL。優雅退出。
  • docker rm
    將從docker ps -a列表中刪除容器,丟失其“狀態”(寫在image文件系統頂部的分層文件系統)。它無法刪除正在運行的容器(除非使用調用-f,在這種情況下,它將直接發送SIGKILL)。
  • docker kill
    發送SIGKILL信號,應用程序直接退出。
    在生命周期方面,應該首先停止容器,然后再將其刪除。

pause/unpause

功能
docker pause :暫停容器中所有的進程。
docker unpause :恢復容器中所有的進程。
語法

docker pause [OPTIONS] CONTAINER [CONTAINER...] docker unpause [OPTIONS] CONTAINER [CONTAINER...]

參數

create

功能
創建一個新的容器但不啟動它。create的容器,可以通過start命令啟動。
語法

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

參數
同docker run

exec

功能
運行的容器中執行命令
語法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

參數
OPTIONS說明:
--d:分離模式: 在后臺運行
--i:即使沒有附加也保持STDIN 打開
--t:分配一個偽終端 。(在crontab等非前端任務中,如果加此參數,會提示:the input device is not a TTY
示例

#在容器 mynginx 中以交互模式執行容器內 /root/runoob.sh 腳本: runoob@runoob:~$ docker exec -it mynginx /bin/sh /root/runoob.sh#在容器 mynginx 中開啟一個交互模式的終端: runoob@runoob:~$ docker exec -i -t mynginx /bin/bash

容器操作

ps

功能
列出容器
語法

docker ps [OPTIONS]

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

inspect

功能
獲取容器/鏡像的元數據。
語法

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

參數
OPTIONS說明:
--f:指定返回值的模板文件。
--s:顯示總的文件大小。
-–type:為指定類型返回JSON。

top

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

docker top [OPTIONS] CONTAINER [ps OPTIONS]

參數

attach

功能
連接到正在運行中的容器。
要attach上去的容器必須正在運行,可以同時連接上同一個container來共享屏幕(與screen命令的attach類似)。
官方文檔中說attach后可以通過CTRL-C來detach,但實際上經過測試,如果container當前在運行bash,CTRL-C自然是當前行的輸入,沒有退出;如果container當前正在前臺運行進程,如輸出nginx的access.log日志,CTRL-C不僅會導致退出容器,而且還stop了。這不是我們想要的,detach的意思按理應該是脫離容器終端,但容器依然運行。好在attach是可以帶上**–sig-proxy=false**來確保CTRL-D或CTRL-C不會關閉容器。
語法

docker attach [OPTIONS] CONTAINER

參數
Options:
–detach-keys string Override the key sequence for detaching a container
–help Print usage
–no-stdin Do not attach STDIN
–sig-proxy Proxy all received signals to the process (default true)

events

功能
從服務器獲取實時事件
語法

docker events [OPTIONS]

參數
OPTIONS說明:
-**-f :根據條件過濾事件;
-
–since :從指定的時間戳后顯示所有事件;
-
–until :**流水時間顯示到指定的時間為止;

logs

功能
獲取容器的日志
語法

docker logs [OPTIONS] CONTAINER

參數
OPTIONS說明:
--f: 跟蹤日志輸出。類似linux tail -f 命令,滾動更新。
-–since:顯示某個開始時間的所有日志
--t: 顯示時間戳
-–tail:僅列出最新N條容器日志

wait

功能
阻塞運行直到容器停止,然后打印出它的退出代碼。
語法

docker wait [OPTIONS] CONTAINER [CONTAINER...]

參數

export

功能
將container作為一個tar歸檔文件導出到STDOUT。
語法

docker export [OPTIONS] CONTAINER

參數
OPTIONS說明:
--o:將輸入內容寫到文件。
示例:

#將id為a404c6c174a2的容器按日期保存為tar文件。 docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2

port

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

docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]

參數

容器rootfs命令

commit

功能
容器創建一個新的鏡像
語法

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

參數
OPTIONS說明:
--a:提交的鏡像作者;
--c:使用Dockerfile指令來創建鏡像;
--m:提交時的說明文字;
--p:在commit時,將容器暫停。

cp

功能
用于容器與主機之間的數據拷貝
語法

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

參數
OPTIONS說明:
--L:保持源目標中的鏈接
容器是鏡像的運行實例。不同的是,鏡像是靜態的只讀文件,而容器帶有運行時需要的可寫文件層;同時,容器中的應用進程處于運行狀態。所以是可以copy的。
示例

#將主機/www/runoob目錄拷貝到容器96f7f14e99ab的/www目錄下。 docker cp /www/runoob 96f7f14e99ab:/www/ #將主機/www/runoob目錄拷貝到容器96f7f14e99ab中,目錄重命名為www。 docker cp /www/runoob 96f7f14e99ab:/www #將容器96f7f14e99ab的/www目錄拷貝到主機的/tmp目錄中。 docker cp 96f7f14e99ab:/www /tmp/

diff

功能
檢查容器里文件結構的更改。更改標識由C,D,A標識。
語法

docker diff [OPTIONS] CONTAINER

參數

鏡像倉庫 login

功能
登陸到一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub
語法

docker login [OPTIONS] [SERVER]

參數
OPTIONS說明:
--u:登陸的用戶名
--p:登陸的密碼

logout

功能
登出一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub
語法

docker logout [OPTIONS] [SERVER]

參數
OPTIONS說明:
--u:登陸的用戶名
--p:登陸的密碼

pull

功能
從鏡像倉庫中拉取或者更新指定鏡像
語法

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

參數
OPTIONS說明:
--a:拉取所有 tagged 鏡像
-–disable-content-trust:忽略鏡像的校驗,默認開啟
如果未指定tag,則為最新鏡像。

push

功能
將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫
語法

docker push [OPTIONS] NAME[:TAG]

參數
OPTIONS說明:
-–disable-content-trust:忽略鏡像的校驗,默認開啟

search

功能
從Docker Hub查找鏡像
語法

docker search [OPTIONS] TERM

參數
OPTIONS說明:
-–automated:只列出 automated build類型的鏡像;
-–no-trunc:顯示完整的鏡像描述;
--s:列出收藏數不小于指定值的鏡像。

本地鏡像管理

images

功能
列出本地鏡像。
語法

docker images [OPTIONS] [REPOSITORY[:TAG]]

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

rmi

功能
刪除本地一個或多少鏡像。
語法

docker rmi [OPTIONS] IMAGE [IMAGE...]

參數
OPTIONS說明:
--f:強制刪除;不論鏡像是否被容器使用。
-–no-prune:不移除該鏡像的過程鏡像,默認移除;

tag

功能
標記本地鏡像,將其歸入某一倉庫。
語法

docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]

參數

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 .

history

功能
查看指定鏡像的創建歷史。
語法

docker history [OPTIONS] IMAGE

參數
OPTIONS說明:
--H:以可讀的格式打印鏡像大小和日期,默認為true;
-–no-trunc:顯示完整的提交記錄;
--q:僅列出提交記錄ID。

save

功能
將指定鏡像保存成 tar 歸檔文件。
語法

docker save [OPTIONS] IMAGE [IMAGE...]

參數
OPTIONS 說明:
--o:輸出到的文件。

load

功能
導入使用save 命令導出的鏡像。
語法

docker load [OPTIONS]

參數
OPTIONS 說明:

-–input , -i: 指定導入的文件,代替 STDIN。
-–quiet , -q: 精簡輸出信息。

import

功能
從歸檔文件中創建鏡像。
語法

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

參數
OPTIONS說明:
--c:應用docker 指令創建鏡像;
--m:提交時的說明文字;
注意:
實際上,既可以使用docker load命令來導入鏡像庫存儲文件到本地鏡像庫,也可以使用docker import命令來導入一個容器快照到本地鏡像庫。
兩者的區別在于容器快照將會丟棄所有的歷史記錄和元數據信息,而鏡像存儲文件將保存完整記錄,體積也會更大。此外從容器快照文件導入時,也可以重新指定標簽等元數據。

info|version info

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

docker info [OPTIONS]

參數
Options:
-f, --format string Format the output using the given Go template
–help Print usage

version

功能
顯示 Docker 版本信息。
語法

docker version [OPTIONS]

參數
OPTIONS說明:

--f :指定返回值的模板文件。

總結

以上是生活随笔為你收集整理的docker命令整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。