【Docker】從零開始:7.Docker命令:容器命令及參數詳解

【Docker】從零開始:7.幫助啟動類命令

  • 一、幫助啟動類命令
    • 啟動Docker
    • 停止Docker
    • 重啟Docker
    • 查看Docker狀態
    • 開機啟動
    • 查看docker概要信息
    • 查看docker總體幫助文檔
    • 查看docker命令幫助文檔
  • 二、鏡像命令
    • 列出本地主機上的鏡像
      • 運行示例
      • 返回說明
      • 操作參數
    • 搜索倉庫里的某個鏡像
      • 運行示例
      • 返回說明
      • 操作參數
    • 拉取鏡像
      • 運行示例
    • 查看鏡像/容器/數據卷所占的空間
      • 運行示例
      • 返回說明
    • 刪除鏡像
      • 運行示例
    • 運行鏡像
      • 運行示例
      • 操作參數
    • 列出當前所有正在運行的容器
      • 運行示例
      • 操作參數
    • 退出容器
      • run進去容器,exit退出,容器停止
      • run進去容器,ctrl+p+q退出,容器不停止
    • 啟動已經停止的的容器
    • 啟動已經停止的的容器
    • 重啟容器
    • 停止容器
    • 強制停止容器
    • 刪掉已停止的容器
    • 一次性刪除多個容器實例
      • 操作參數
    • 檢查容器文件結構修改
      • 運行示例
    • 殺掉運行中的容器
      • 運行示例
      • 參數說明
    • 暫停/恢復容器中所有進程
      • 運行示例
    • 容器重命名
      • 運行示例
  • 三.其他常用
    • 啟動守護式容器(后臺服務器)
    • 查看容器日志
      • 運行示例
      • 操作參數
    • 查看容器內運行的進程
    • 查看容器內部細節
      • 操作參數
    • 重新進入容器(進入正在運行的容器并以命令行交互)
      • 運行示例
      • 操作參數
    • 從容器內拷貝文件到主機
      • 操作參數
    • 導出容器
      • 運行示例
      • 操作參數
  • 導入容器

一、幫助啟動類命令

啟動Docker

docker:systemctl start docker

停止Docker

systemctl stop docker

重啟Docker

systemctl restart docker

查看Docker狀態

systemctl status docker

開機啟動

systemctl enable docker

查看docker概要信息

docker info

查看docker總體幫助文檔

docker--help

查看docker命令幫助文檔

docker 具體命令 -help

二、鏡像命令

列出本地主機上的鏡像

docker images

運行示例

[root@docker ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
hello-world   latest    feb5d9fea6a5   2 years ago   13.3kB
[root@docker ~]# 

返回說明

  • REPOSITORY:表示鏡像的倉庫源
  • TAG:鏡像的標簽版本號
  • IMAGE ID:鏡像ID
  • CREATED:鏡像創建時間
  • SIZE:鏡像大小

同一倉庫源可以有多個 TAG版本,代表這個倉庫源的不同個版本,我們使用 REPOSITORY:TAG 來定義不同的鏡像。
如果你不指定一個鏡像的版本標簽,例如你只使用 ubuntu,docker 將默認使用 ubuntu:latest 鏡像
latest 表示最新版本

操作參數

docker images -a
docker images -q
參數說明
-a列出本地所有的鏡像(含歷史映像層)
-q只顯示鏡像ID

搜索倉庫里的某個鏡像

docker search [鏡像名稱]

運行示例

[root@docker ~]# docker search redis
NAME                                DESCRIPTION                                      STARS     OFFICIAL   AUTOMATED
redis                               Redis is an open source key-value store that…   12490     [OK]       
redislabs/redisearch                Redis With the RedisSearch module pre-loaded…   61                   
redislabs/redisinsight              RedisInsight - The GUI for Redis                 94                   
redis/redis-stack-server            redis-stack-server installs a Redis server w…   60                   
redis/redis-stack                   redis-stack installs a Redis server with add…   82                   
redislabs/rebloom                   A probablistic datatypes module for Redis        25                   [OK]
redislabs/redis                     Clustered in-memory database engine compatib…   40                   
redislabs/rejson                    RedisJSON - Enhanced JSON data type processi…   53                   
redislabs/redisgraph                A graph database module for Redis                26                   [OK]
redislabs/redismod                  An automated build of redismod - latest Redi…   41                   [OK]
redislabs/redistimeseries           A time series database module for Redis          12                   
redislabs/operator                                                                   7                    
redislabs/operator-internal         This repository contains pre-released versio…   1                    
redislabs/redis-py                                                                   5                    
redislabs/redis-webcli              A tiny Flask app to provide access to Redis …   5                    [OK]
redislabs/redisgears                An automated build of RedisGears                 4                    
redislabs/k8s-controller-internal                                                    0                    
redislabs/k8s-controller                                                             2                    
redislabs/memtier_benchmark         Docker image to run memtier_benchmark            0                    
redislabs/ng-redis-raft             Redis with redis raft module                     0                    
redislabs/redisai                                                                    6                    
redislabs/olmtest                   Test artefact for OLM CSV                        1                    
bitnami/redis                       Bitnami Redis Docker Image                       271                  [OK]
redislabs/olm-bundle                                                                 0                    
redislabs/redisml                   A Redis module that implements several machi…   3                    [OK]

返回說明

  • NAME:表示鏡像名稱
  • DESCRIPTION:鏡像說明
  • STARS:鏡像的點贊數
  • OFFICIAL:是否是官方的
  • AUTOMATED:是否是自動構建的

操作參數

docker search  --limit 5 [鏡像名稱]
參數說明
–limit只列出N個鏡像,默認25個

拉取鏡像

docker pull [鏡像名稱]:[鏡像標簽/TAG]

沒有鏡像標簽(TAG)就是最新版等價于docker pull [鏡像名稱]:latest

運行示例

[root@docker ~]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete 
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
[root@docker ~]# docker pull mysql:5.6
5.6: Pulling from library/mysql
35b2232c987e: Pull complete 
fc55c00e48f2: Pull complete 
0030405130e3: Pull complete 
e1fef7f6a8d1: Pull complete 
1c76272398bb: Pull complete 
f57e698171b6: Pull complete 
f5b825b269c0: Pull complete 
dcb0af686073: Pull complete 
27bbfeb886d1: Pull complete 
6f70cc868145: Pull complete 
1f6637f4600d: Pull complete 
Digest: sha256:20575ecebe6216036d25dab5903808211f1e9ba63dc7825ac20cb975e34cfcae
Status: Downloaded newer image for mysql:5.6
docker.io/library/mysql:5.6
[root@docker ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mysql         5.6       dd3b2a5dcb48   23 months ago   303MB
ubuntu        latest    ba6acccedd29   2 years ago     72.8MB
hello-world   latest    feb5d9fea6a5   2 years ago     13.3kB
[root@docker ~]# 

查看鏡像/容器/數據卷所占的空間

docker system df

運行示例

[root@docker ~]# docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          3         1         375.3MB   375.3MB (99%)
Containers      2         0         0B        0B
Local Volumes   0         0         0B        0B
Build Cache     0         0         0B        0B
[root@docker ~]# 

返回說明

TYPE 類型:Images鏡像,Containers容器,Local Volumes本地卷,Build Cache構建緩存

  • TOTAL 統計數量
  • ACTIVE 正在使用的數量
  • SIZE 磁盤占用大小
  • RECLAIMABLE 可回收的空間大小

刪除鏡像

  • 刪除單個鏡像
docker rmi [鏡像名稱]:[鏡像標簽]
docker rmi [鏡像ID]
  • 刪除多個鏡像
docker rmi [鏡像1名稱]:[鏡像1標簽] [鏡像2名稱]:[鏡像2標簽] [鏡像3名稱]:[鏡像3標簽]
docker rmi [鏡像1ID] [鏡像2ID] [鏡像3ID]
  • 刪除全部鏡像
docker rmi $(docker images -qa)

運行示例

[root@docker ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mysql         5.6       dd3b2a5dcb48   23 months ago   303MB
ubuntu        latest    ba6acccedd29   2 years ago     72.8MB
hello-world   latest    feb5d9fea6a5   2 years ago     13.3kB
[root@docker ~]# docker rmi mysql:5.6
Untagged: mysql:5.6
Untagged: mysql@sha256:20575ecebe6216036d25dab5903808211f1e9ba63dc7825ac20cb975e34cfcae
Deleted: sha256:dd3b2a5dcb48ff61113592ed5ddd762581be4387c7bc552375a2159422aa6bf5
Deleted: sha256:8c5e3b50c7085016b7c692611fdedacba442aa0f4ccf8739f4ecf4d5e49b7d91
Deleted: sha256:2ff31bb829f16adc374868d9ef59254f394816aadfeb6b45da5bec5dcde45540
Deleted: sha256:91bcc75c6967ec46f3f19fa96f248ab3a23589788f9e2c4a1a2e032112def863
Deleted: sha256:127296d2ee30c8716069dc23d015d9ecaa1544d0a2c44712db128ae6a9cb1431
Deleted: sha256:fe36f45d1760f56c23a9957254682d74aa6e7fba931dc8f11addf75684b1aa69
Deleted: sha256:8d6550c8cb1e10f9d0cf1ee3061ecef9e2cb333cdfbf58a02ee27cf2dd5fc35a
Deleted: sha256:64e278d98d2502416e0c55646e919f0080a50f9a342b0e28aa9c43655518d3aa
Deleted: sha256:013f70419be70a06c8e4ce898f2dac82be8749cb9979d9e5b1c98dd82519f627
Deleted: sha256:c49bbc9eeced1247fcd625da3e2c2886e89b15a6264899a9ce32cd21d927912e
Deleted: sha256:031797b961ee18c70bff1f3b53cea52f643dbaef6a5ecb0e98fc2696e8b039a5
Deleted: sha256:2b83e5699838047f936a3875bcce7fe1b169983bf86785ae7519c5bc488558ae
[root@docker ~]# docker rmi ba6acccedd29
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Deleted: sha256:ba6acccedd2923aee4c2acc6a23780b14ed4b8a5fa4e14e252a23b846df9b6c1
Deleted: sha256:9f54eef412758095c8079ac465d494a2872e02e90bf1fb5f12a1641c0d1bb78b
[root@docker ~]# 

運行鏡像

docker run [操作參數] [鏡像名稱]:[鏡像標識] [命令][參數]
docker run [操作參數] [鏡像ID] [命令][參數]

運行示例

[root@docker ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mysql         5.6       dd3b2a5dcb48   23 months ago   303MB
ubuntu        latest    ba6acccedd29   2 years ago     72.8MB
hello-world   latest    feb5d9fea6a5   2 years ago     13.3kB
[root@docker ~]# docker rmi mysql:5.6
Untagged: mysql:5.6
Untagged: mysql@sha256:20575ecebe6216036d25dab5903808211f1e9ba63dc7825ac20cb975e34cfcae
Deleted: sha256:dd3b2a5dcb48ff61113592ed5ddd762581be4387c7bc552375a2159422aa6bf5
Deleted: sha256:8c5e3b50c7085016b7c692611fdedacba442aa0f4ccf8739f4ecf4d5e49b7d91
Deleted: sha256:2ff31bb829f16adc374868d9ef59254f394816aadfeb6b45da5bec5dcde45540
Deleted: sha256:91bcc75c6967ec46f3f19fa96f248ab3a23589788f9e2c4a1a2e032112def863
Deleted: sha256:127296d2ee30c8716069dc23d015d9ecaa1544d0a2c44712db128ae6a9cb1431
Deleted: sha256:fe36f45d1760f56c23a9957254682d74aa6e7fba931dc8f11addf75684b1aa69
Deleted: sha256:8d6550c8cb1e10f9d0cf1ee3061ecef9e2cb333cdfbf58a02ee27cf2dd5fc35a
Deleted: sha256:64e278d98d2502416e0c55646e919f0080a50f9a342b0e28aa9c43655518d3aa
Deleted: sha256:013f70419be70a06c8e4ce898f2dac82be8749cb9979d9e5b1c98dd82519f627
Deleted: sha256:c49bbc9eeced1247fcd625da3e2c2886e89b15a6264899a9ce32cd21d927912e
Deleted: sha256:031797b961ee18c70bff1f3b53cea52f643dbaef6a5ecb0e98fc2696e8b039a5
Deleted: sha256:2b83e5699838047f936a3875bcce7fe1b169983bf86785ae7519c5bc488558ae
[root@docker ~]# docker rmi ba6acccedd29
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Deleted: sha256:ba6acccedd2923aee4c2acc6a23780b14ed4b8a5fa4e14e252a23b846df9b6c1
Deleted: sha256:9f54eef412758095c8079ac465d494a2872e02e90bf1fb5f12a1641c0d1bb78b
[root@docker ~]# 

操作參數

參數說明格式
–add-host list向容器的 /etc/hosts 文件添加自定義主機名和 IP 映射–add-host myhost:192.168.0.100
–annotation mapAdd an annotation to the container (passed through to the OCI runtime) (default map[])
-a或–attach list附加到標準輸入、標準輸出或標準錯誤 指定標準輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項
–blkio-weight uint16要使 –blkio-weight 生效,需要保證 IO 的調度算法為 CFQ,設置10-1000之間, 0為關閉 默認值為0
–blkio-weight-device listBlock IO weight (relative device weight) (default [])
–cap-add list允許提升優先級及設置其他進程的優先級的開關參數。–cap-add=SYS_ADMIN
–cap-drop list禁止提升優先級及設置其他進程的優先級的開關參數。–cap-drop=SYS_ADMIN
–cgroup-parent string容器的可選父cgroup
–cgroupns string使用的Cgroup命名空間 (host/private)
‘host’在Docker主機的Cgroup命名空間中運行容器
‘private’: 在其自己的私有Cgroup名稱空間中運行容器
’':使用守護進程上默認cgroupns模式選項配置的cggroup名稱空間(default)
–cidfile string將 container ID 保存到 cid_file, 保存的格式為長 UUID
–cpu-period int指定容器對 CPU 的使用要在多長時間內做一次重新分配。需要與 --cpu-quota 一起使用,默認為 100000 微妙(100 毫秒),一般這個參數值無需修改。–cpu-period=100000
–cpu-quota int是用來指定在這個周期內,最多可以有多少時間用來跑這個容器,單位為微秒,一般這個參數值無需修改。
–cpu-rt-period int全局 Docker服務配置參數:指定 CPU CFS 調度器周期,需要與 --cpu-quota 一起使用,默認為 100000 微妙(100 毫秒),一般這個參數值無需修改
–cpu-rt-runtime int全局 Docker服務配置參數:單位為微秒。確保實時調度程序的容器可以在 100000 微妙時間內運行 950000 微秒,至少有 50000 微秒可用于非實時任務,表示的時間 (缺省是 0.95 s)之后才能被重新調度。必須設置了–cap-add=sys_nice 參數才能使用。
-c,–cpu-shares intCPU權重設置,Docker會把CPU資源分成1024份,如果對一個容器設置了1024意味它獨占所有CPU資源,如果多個容器同時進行了設置,那么每個容器最后會通過各自占有的百分比來分配CPU資源。當只有一個進程在運行的時候,他對一個 CPU 內核 100% 使用權,不管他有多少 CPU 份額。當和其他容器競爭 CPU 的時候,這個數值才有用。–cpu-shares 512
–cpus decimal指定一個容器可以使用多少可用的資源。例如:主機有兩個 CPU,而你設置 --cpus=“1.5” ,那么容器可以使用 1.5 個 CPU 可以被它所使用。這個選項相當于設置 --cpu-period=“100000” 和 --cpu-quota=“150000”
–cpuset-cpus string指定一個容器可以使用特定的 CPU 個數第一個 CPU 的編號為 0,依次類推 1,2,3,4 。例如:–cpuset-cpus=0-3 使用第一,第二,第三,第四 CPU)。–cpuset-cpus=0-1,3 (使用第一,第二,第三 CPU。)
–cpuset-mems string指定使用的內存 id (0-3,0,1)
-d或–detach在后臺運行容器并打印容器ID
–detach-keys string指定分離容器的鍵盤序列
–device list可以將主機上的設備映射到容器中,使得容器能夠訪問主機上的設備資源并將主機上的/dev/ttyS0設備映射到容器中
–device=/dev/ttyS0:/dev/ttyS0
–device-cgroup-rule list將規則添加到cgroup allowed devices列表
–device-read-bps list限制讀某個設備的比特率–device-read-bps /dev/sda:1mb
–device-read-iops list限制讀某個設備的每秒的讀寫次數–device-read-iops /dev/sda:1000
–device-write-bps list限制寫某個設備的比特率–device-write-bps /dev/sda:1mb
–device-write-iops list限制寫某個設備的每秒的讀寫次數–device-write-iops /dev/sda:1000
–disable-content-trust忽略校驗,默認開啟
–dns list指定容器使用的自定義 DNS 服務器-dns [DNS IP]
–dns-option list為容器的 DNS 配置添加自定義選項–dns-option=timeout:5
–dns-search list指定容器的 DNS 搜索域–dns-search [網站地址]
–domainname string設置容器NIS域
–entrypoint string覆蓋鏡像默認入口點
-e或–env list設置容器的環境變量-e [環境變量名稱]=[環境變量值]
–env-file list在容器啟動時,Docker會自動讀取該文件,將其中的每個環境變量都添加到容器的環境變量中–env-file [配置文件]
–expose listDocker 服務端容器暴露的端口號,供互聯系統使用
–gpus gpu-request要添加到容器中的GPU設備(“全部”傳遞所有GPU
–group-add list加入的其他組
–health-cmd string運行健康檢查命令
–health-interval duration運行健康檢查時間間隔(mss
–health-retries int需要報告健康檢查失敗次數
–health-start-period duration健康檢查重啟倒計時,容器初始化的開始時間 (mss
–health-timeout duration健康檢查運行的超時時間(mss
–help打印幫助并退出
-h,–hostname string設置容器的主機名
–init在轉發信號和獲取進程的容器中運行init
-i或–interactive以交互模式運行容器,通常與 -t 同時使用
–ip string指定IPv4地址
–ip6 string制定IPv6地址
–ipc stringIPC(POSIX/SysV IPC) 命名空間提供了相互隔離的命名共享內存,信號燈變量和消息隊列。 共享內存可以提高進程數據交互速度。共享內存一般用在 database 和高性能應用(C/OpenMPI, C++/using boost libraries)上或者金融服務上。如果需要容器里面部署上述類型的應用,那么就應該在多個容器直接采取共享內存了
–isolation string使用容器隔離技術
–kernel-memory bytes內核內存,不會被交換到 swap 上。一般情況下,不建議修改
-l,–label list在容器上設置標簽
–label-file list為容器添加標簽,用于識別和組織容器
–link list將容器連接到另一個容器,在兩個容器之間建立網絡連接。–link [容器名稱]:[自定義網絡名稱] [鏡像名稱]
–link-local-ip list設置容器本地IPv4/IPv6鏈路地址
–log-driver stringDocker 增加了對 json-file 型(默認)log driver 的 rotate 功能,我們可通過 max-size 和 max-file 兩個 –log-opt 來配置。–log-driver=json-file --log-opt max-size=1k --log-opt max-file=5
–log-opt list配合Log driver 使用過
–mac-address string綁定容器的MAC地址
-m或–memory bytes設置容器可使用的內存限制–memory 1g
–memory-reservation bytes軟件限制內存使用,宿主機內存空間時,可以根據設置超出一定的限制
–memory-swap bytes等于內存和 swap 分區大小的總和,設置為 -1 時,表示 swap 分區的大小是無限的。默認單位為 byte,可以使用 K、G、M 等帶單位的字符串。如果 –memory-swap 的設置值小于 –memory 的值,則使用默認值,為 –memory-swap 值的兩倍
–memory-swappiness int控制進程將物理內存交換到 swap 分區的傾向,默認系數為 60。系數越小,就越傾向于使用物理內存。值范圍為 0-100。當值為100 時,表示盡量使用 swap 分區;當值為 0 時,表示禁用容器 swap 功能(這點不同于宿主機,宿主機 swappiness 設置為 0 也不保證 swap 不會被使用,默認為-1
–mount mount與"-v"效果一致,區別是掛載主機目錄使用“-v”時,如果宿主機上沒有指定文件不會報錯,會自動創建指定文件;當使用“-mount”時,如果宿主機中沒有這個文件會報錯找不到指定文件,不會自動創建指定文件。
–name string為容器指定一個名稱(可以根據需要更改為您喜歡的名稱)–name [自定義容器名稱]
–network network指定容器使用的網絡模式docker network create --driver bridge [自定義網絡名稱]
docker run --network=[自定義網絡名稱] [鏡像名稱]
–network-alias list為容器添加網絡范圍的別名
–no-healthcheck禁用任何指定容器的HEALTHCHECK
–oom-kill-disable禁用任何指定容器的OOM Killer
–oom-score-adj int調整主機OOM首選項(-1000 to 1000)
–pid string設置容器pid命名空間
–pids-limit int限制容器創建的最大進程數(設置-1表示無限制)
–platform string獲取指定系統架構docker pull --platform= :
–privileged給容器賦予特權,可以訪問主機的設備。
-p或–publish list將主機的端口 80 映射到容器的端口 80。這樣,您可以通過訪問 http://localhost 來訪問 NGINX 容器中的網站。-p [映射端口]:[容器內部端口]
-P或–publish-all對外映射所有端口
–pull string每次生成進程時檢查注冊表中是否有更新的映像 (“always”,“missing”,“never”) (default “missing”)
-q,–quietSuppress the pull output
–read-only將容器的文件系統設置為只讀模式
–restart stringno 默認策略,在容器退出時不重啟容器
on-failure 在容器非正常退出時(退出狀態非 0),才會重啟容器
on-failure:3 在容器非正常退出時重啟容器,最多重啟 3 次
always 在容器退出時總是重啟容器,當操作系統或 docker 服務重啟時,該容器總能隨系統啟動
unless-stopped 在容器退出時總是重啟容器,但是不考慮在 Docker 守護進程啟動時就已經停止了的容器
–rm當容器退出時如果容器關閉,則自動清除所有該容器的信息
–runtime string指定一個–runtime string容器
–security-opt list設置容器的安全選項,如 AppArmor 配置、Seccomp 配置等–security-opt seccomp:unconfined
–shm-size bytes設置容器的共享內存大小–shm-size 2g
–sig-proxy–sig-proxy=true 不會將收到的信號重定向到進程。因此,例如,如果您附加到一個容器并按 Ctrl+C,它不會影響容器的進程,只會影響您的控制臺。
–stop-signal string覆蓋鏡像中的 STOPSIGNAL 設置
–stop-timeout int覆蓋鏡像中的關閉超時時間
–storage-opt list約束整個容器文件系統所占空間的最大值
–sysctl map設置容器的內核參數–sysctl net.ipv4.ip_forward=1
–tmpfs list在容器內創建臨時文件系統,用于存儲臨時數據–tmpfs [容器內自定義目錄]
-t,–tty為容器重新分配一個偽輸入終端,通常與 -i 同時使用
–ulimit ulimit允許容器設置的最大實時優先級,必須設置了–cap-add=sys_nice 參數才能使用,用于設置容器的資源限制,如最大打開文件數、最大進程數等–ulimit nofile=1024:1024
-u或–user string指定容器運行時的用戶名或 UID
–userns string使用的用戶命名空間
–uts string使用的UTS命名空間
-v,–volume list將主機上的文件目錄掛載到容器中的目錄。-v [本機目錄]:[容器目錄]
–volume-driver string指定容器使用的卷驅動程序
–volumes-from list從其他容器掛載目錄。 1.創建 dbdata 容器,并含有 /data 數據卷docker run -it --name dbdata --hostname=dbdata -v /data -d centos:8.2.2004 /bin/bash
docker run -it --name web --hostname=web --volumes-from dbdata -d centos:8.2.2004 /bin/bash
-w,–workdir string設置容器的工作目錄–workdir /app

列出當前所有正在運行的容器

 docker ps [操作參數]

運行示例

[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND    CREATED        STATUS                    PORTS     NAMES
f919fcfcb7b0   hello-world    "/hello"   5 hours ago    Exited (0) 5 hours ago              fervent_benz
a4016a83fc04   hello-world    "/hello"   9 hours ago    Exited (0) 9 hours ago              hopeful_bardeen
f30bd054e899   9c7a54a9a43c   "/hello"   26 hours ago   Exited (0) 26 hours ago             mystifying_shockley

操作參數

參數說明格式
-a或-all列出所有容器
-f或 --filter filter使用過濾器來過濾輸出
–format string以go的形式格式化輸出列表docker ps -a --format {{.Names}}-{{.Image}}
-n或–last int顯示最近N個創建的容器
-l或–latest顯示最近創建的容器
–no-trunc不對輸出進行截斷操作,此時可以看到完整的COMMAND,CONTAINER ID
-q或–quiet靜默模式,只顯示容器編號
-s或–size會列出容器的文件大小(容器增加的大小/容器的虛擬大小)

退出容器

run進去容器,exit退出,容器停止

exit

run進去容器,ctrl+p+q退出,容器不停止

按鍵 Ctrl+p+q

啟動已經停止的的容器

docker start [容器ID/容器名稱]

啟動已經停止的的容器

docker start [容器ID/容器名稱]

重啟容器

docker restart [容器ID/容器名稱]

停止容器

docker stop [容器ID/容器名稱]

強制停止容器

docker kill [容器ID/容器名稱]

刪掉已停止的容器

docker rm [容器ID/容器名稱]

一次性刪除多個容器實例

docker rm -f $(docker ps -qa)
docker ps -qs | xargs docker rm
docker container prune

操作參數

  • docker rm 參數
參數說明格式
-f或–force強制刪除
-l或 --link刪除指定的鏈接
-v或–volumes刪除與容器關聯的匿名卷
  • docker container prune 參數
參數說明格式
–filter filter篩選過濾,(‘until=’)
-f, --force直接刪除,不提示確認選項

檢查容器文件結構修改

docker diff [容器名]
docker container diff [容器名]

運行示例

假設容器NAMES為web

docker diff web

殺掉運行中的容器

docker kill [操作參數] [容器名] [CONTAINER...] 

運行示例

假設容器NAMES為web

docker diff web

參數說明

參數說明格式
-s, --signal string向容器發送一個信號(默認 “KILL”)

暫停/恢復容器中所有進程

運行示例

  • 暫停
docker pause [容器名/容器ID]
docker container pause [容器名/容器ID]
  • 恢復
docker unpause [容器名/容器ID]
docker container unpause [容器名/容器ID]

容器重命名

運行示例

docker rename [容器名/容器ID] [新的容器名]
docker container rename [容器名/容器ID] [新的容器名]

三.其他常用

啟動守護式容器(后臺服務器)

  • 在大部分的場景下,我們希望 docker 的服務是在后臺運行的,
    我們可以過 -d 指定容器的后臺運行模式。
docker run -d [容器名]

查看容器日志

docker logs [操作參數] [容器ID]

運行示例

進入到容器中,假設容器NAMES為web

docker exec -it web /bin/bash

操作參數

參數說明格式
–details顯示更多的信息
-f, --follow跟蹤日志輸出,類似tail -f
–since string顯示某個時間段后的日志,例:docker logs --since=“2019-12-12T13:23:37” CONTAINER
–tail string從日志末尾顯示行數,默認all
-t, --timestamps顯示時間戳
–until string顯示某個時間段前的日志

查看容器內運行的進程

docker top [容器ID]

查看容器內部細節

docker inspect [容器ID]
docker container inspect [容器ID]

操作參數

參數說明格式
-f, --format string指定go模板格式化輸出
-s, --size顯示總文件大小
-type string返回指定類型的JSON

查看一個名稱為web的容器

docker inspect web

查看容器的內部IP,假設容器NAMES為web

docker inspect --format='{{.NetworkSettings.IPAddress}}' web

查看容器卷的關聯信息,假設容器NAMES為web

docker inspect -f {{.Mounts}} web

重新進入容器(進入正在運行的容器并以命令行交互)

  • exec 是在容器中打開新的終端,并且可以啟動新的進程
    用exit退出,不會導致容器的停止。
docker exec [操作參數] [容器ID] [bashShell]
docker exec [操作參數] [容器名稱] [bashShell]

運行示例

進入到容器中,假設容器NAMES為web

docker exec -it web /bin/bash

操作參數

參數說明格式
-d, --detach在后臺運行容器并打印容器ID
–detach-keys string指定分離容器的鍵盤序列
-e, --env list設置環境變量
–env-file list在容器啟動時,Docker會自動讀取該文件,將其中的每個環境變量都添加到容器的環境變量中–env-file [配置文件]
-i, --interactive交互模式,通常和-t選項一同使用
–privileged賦予命令提供一些擴展權限
-t, --tty分配一個偽tty終端,通常和-i選項一同使用
-u, --user string指定容器用戶 (format: <nameuid>[:<group
-w, --workdir string指定容器的工作目錄
  • attach 直接進入容器啟動命令的終端,不會啟動新的進程
    用exit退出,會導致容器的停止。
docker attach -it 容器ID bashShell
參數說明格式
–detach-keys string指定分離容器的鍵盤序列
–no-stdin不連接標準輸入
–sig-proxy–sig-proxy=true 不會將收到的信號重定向到進程。因此,例如,如果您附加到一個容器并按 Ctrl+C,它不會影響容器的進程,只會影響您的控制臺。

使用ctrl+c可以直接斷開連接,但是這樣會導致容器退出,而且還stop了。如果想在脫離容器終端時,容器依然運行。就需要使用–sig-proxy這個參數。

docker attach --sig-proxy=false mytest

attach 到一個正在運行的容器里面,需要注意的是,attach進去之后,退出會stop容器,建議盡量用exec。加上–no-stdin就不會退出了,并且進去之后不能做任何操作

docker attach --no-stdin mytest

從容器內拷貝文件到主機

docker copy [操作參數] [容器ID]:[拷貝文件路徑] [目的文件路徑]

操作參數

參數說明格式
–o輸入內容寫到文件

導出容器

docker export [操作參數] [容器ID] > [自定義文件名].tar

運行示例

docker export CONTAINER ID > NAME.tar
docker export -o NAME.tar CONTAINER ID

操作參數

參數說明格式
–o輸入內容寫到文件

導入容器

cat [自定義文件名].tar | docker import [容器名稱]:[容器標簽]
參數說明格式
–c, --change listApply Dockerfile instruction to the created image
-m, --message stringSet commit message for imported image
–platform stringet platform if server is multi-platform capable

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166516.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166516.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166516.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python-Django的“日志功能-日志模塊(logging模塊)-日志輸出”的功能詳解

01-綜述 可以使用Python內置的logging模塊來實現Django項目的日志記錄。 所以與其說這篇文章在講Django的“日志功能-日志模塊-日志輸出”&#xff0c;不如說是在講Pthon的“日志功能-日志模塊-日志輸出”&#xff0c;即Python的logging模塊。 下面用一個實例來進行講解。 …

2023年亞太杯數學建模A題水果采摘機器人的圖像識別功能(免費思路)

中國是世界上最大的蘋果生產國&#xff0c;年產量約為 3500 萬噸。同時&#xff0c;中國也是世界上最大的蘋果出口國&#xff0c;世界上每兩個蘋果中就有一個出口到國。世界上每兩個蘋果中就有一個來自中國&#xff0c;中國出口的蘋果占全球出口量的六分之一以上。來自中國。中…

保護服務器免受攻擊:解析攻擊情境與解決之道

在數字化時代&#xff0c;服務器安全問題日益突出&#xff0c;因為它們是企業和個人網絡活動的核心。服務器被攻擊可能引發一系列問題&#xff0c;理解攻擊的不同情境以及采取相應的解決方法變得至關重要。 DDoS 攻擊&#xff08;分布式拒絕服務攻擊&#xff09; 情境&#xff…

基于51單片機超聲波測距汽車避障系統

**單片機設計介紹&#xff0c; 基于51單片機超聲波測距汽車避障系統 文章目錄 一 概要二、功能設計設計思路 三、 軟件設計原理圖 五、 程序六、 文章目錄 一 概要 基于51單片機的超聲波測距汽車避障系統是一種用于幫助汽車避免碰撞和發生事故的設備&#xff0c;以下是一個基本…

Visual Studio 2022安裝教程(千字圖文詳解),手把手帶你安裝運行VS2022以及背景圖設置

VS2022最新最全安裝教程 很高興你打開了這篇博客&#xff0c;接下來我們一起安裝并且使用VS2022吧 文章目錄 VS2022最新最全安裝教程一.官網下載二.安裝啟動三.項目測試1.創建新項目2.選擇我們使用的模板&#xff08;C空項目&#xff09;&#xff0c;繼續沖&#xff01;3.進入…

docker的使用方法

文章目錄 為什么要用dockerdocker安裝docker工作原理docker命令docker搭建練習docker可視化docker鏡像docker容器數據卷DockerFiledocker全流程Docker網絡原理docker composedocker swarm 為什么要用docker 官網&#xff1a;https://www.docker.com文檔地址&#xff1a;https:…

Stream流開發常用場景

一、Stream流 1.將某個集合中的金額字段相加 Bigdecimal amount list.stream().map(TransInfoEntity::getAmount).reduce(BigDecimal::add).orElse(BigDecimal.ZERO); 2.將集合中某兩個字段組合成一個map Map<Long, String> map list.stream().collect(Collectors.t…

ImgUtil.scale會在某些圖片壓縮之后自動旋轉90度

需要的jar依賴&#xff1a; <dependency> <groupId>com.drewnoakes</groupId> <artifactId>metadata-extractor</artifactId> <version>2.16.0</version> <!-- 請檢查最新版本 …

ceph編譯報錯解決

1.執行./install-deps.sh提示deb無法安裝 解決方案&#xff1a; 直接使用dpkg -i來安裝deb&#xff0c;會提示缺失3個庫&#xff0c;庫名如下&#xff1a; cython python dh-systemd 其中cython和python手動安裝好后&#xff0c;也會依舊報錯。此時修改debian/control文件&…

系列五、聲明式事務(xml方式)

一、概述 聲明式事務(declarative transaction management)是Spring提供的對程序事務管理的一種方式&#xff0c;Spring的聲明式事務顧名思義就是采用聲明的方式來處理事務。這里所說的聲明&#xff0c;是指在配置文件中聲明&#xff0c;用在Spring配置文件中聲明式的處理事務來…

搞笑的客服日常,今天遇到的曬白客服,你遇到過嗎?

大家看看這個 https://blog.csdn.net/a871923942/article/details/129778391?utm_mediumdistribute.pc_feed_404.none-task-blog-2 今天遇到傻逼審核 開頭第一句就使用快捷話術 客服感覺自己發錯了 然后就撤回消息 第二次繼續發話術&#xff0c;說違規&#xff0c;審核不通過…

案例015:Java+SSM+uniapp基于微信小程序的校園防疫系統

文末獲取源碼 開發語言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 數據庫&#xff1a;mysql 5.7 開發軟件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序開發軟件&#xff1a;HBuilder X 小程序…

互聯網上門洗鞋店小程序

上門洗鞋店小程序門店版是基于原平臺版進行增強的&#xff0c;結合洗鞋行業的線下實際運營經驗和需求&#xff0c;專為洗鞋人和洗鞋店打造的高效、實用、有價值的管理軟件系統。 它能夠幫助洗鞋人建立自己的私域流量&#xff0c;實現會員用戶管理&#xff0c;實現用戶與商家的點…

【SpringCloud】微服務架構設計模式

一、聚合氣微服務設計模式 最常見、最簡單的設計模式&#xff0c;效果如圖所示&#xff1a; 聚合器調用多個服務實現應用程序所需的功能 它可以是一個簡單的 Web 頁面&#xff0c;將檢索到的數據進行處理并展示&#xff0c;也可以是一個更高層次的組合微服務&#xff0c;對…

記錄ruoyi-plus-vue部署的問題

ruoyi-vue-plus5.x 后端 ruoyi-vue-plus5.x 前端 前端本地啟動命令 # 克隆項目 git clone https://gitee.com/JavaLionLi/plus-ui.git# 安裝依賴 npm install --registryhttps://registry.npmmirror.com# 啟動服務 npm run dev# 構建生產環境 yarn build:prod # 前端訪問地址…

[C++歷練之路]vector的介紹以及底層模擬實現

W...Y的主頁 &#x1f60a; 代碼倉庫分享 &#x1f495; &#x1f354;前言&#xff1a; 我們學習了STL中的string以及其所有重要接口并進行了模擬實現&#xff0c;但是STL中包含的內容不止于此。學習了string之后繼續學習STL中的vector&#xff0c;學習成本會大大降低&#…

產品經理面試必看!To B和To C產品的隱秘差異,你了解多少?

大家好&#xff0c;我是小米&#xff0c;一位對技術充滿熱情的產品經理。最近在和小伙伴們交流中發現一個熱門話題&#xff1a;To B&#xff08;面向企業&#xff09;和To C&#xff08;面向消費者&#xff09;的產品經理究竟有何異同&#xff1f;這可是我們產品經理面試中的經…

互動直播項目 之 靜音邏輯 梳理

目錄 一、老師靜音學生 1、主播點擊聲音按鈕后 2、主進程收到后,調用接口,通知給學生

【LeetCode】374. 猜數字大小

374. 猜數字大小 難度&#xff1a;簡單 題目 猜數字游戲的規則如下&#xff1a; 每輪游戲&#xff0c;我都會從 1 到 n 隨機選擇一個數字。 請你猜選出的是哪個數字。如果你猜錯了&#xff0c;我會告訴你&#xff0c;你猜測的數字比我選出的數字是大了還是小了。 你可以通…