docker
容器化技術,可以將應用程序及其依賴項打包到一個可移植的容器中,使其可以在不同的環境中運行
補充說明
Docker 容器可以快速部署、可移植、可擴展,並且可以在不同的平臺上運行。Docker 可以幫助開發人員和運維人員更輕鬆地構建、發佈和管理應用程序。
安裝
在 Linux 中輸入以下命令安裝 Docker。
1# CentOS 參考:https://blog.csdn.net/zhaoyuanh/article/details/126610347
2#如果系統裏有舊版本docker的話需要先行刪除:
3sudo yum remove docker \
4 docker-client \
5 docker-client-latest \
6 docker-common \
7 docker-latest \
8 docker-latest-logrotate \
9 docker-logrotate \
10 docker-engine
11
12#設置倉庫:
13yum install -y yum-utils
14
15#添加Docker倉庫:
16yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
17
18#安裝Docker引擎(默認最新):
19yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
20
21#啓動docker:
22sudo systemctl start docker
語法
1docker create [options] IMAGE
選項參數
1attach 將本地標準輸入、輸出和錯誤流附加到正在運行的容器
2build 從 Dockerfile 構建鏡像
3commit 從容器的更改創建新鏡像
4cp 在容器和本地文件系統之間複製文件/文件夾
5create 創建一個新容器
6diff 檢查容器文件系統上文件或目錄的更改
7events 從服務器獲取實時事件
8exec 在正在運行的容器中運行命令
9export 將容器的文件系統導出爲 tar 存檔
10history 顯示鏡像的歷史
11images 列出鏡像
12import 從 tarball 導入內容以創建文件系統映像
13info 顯示系統範圍的信息
14inspect 返回有關 Docker 對象的低級信息
15kill 殺死一個或多個正在運行的容器
16load 從 tar 存檔或 STDIN 加載鏡像
17login 登錄到 Docker 註冊表
18logout 從 Docker 註冊表中註銷
19logs 獲取容器的日誌
20pause 暫停一個或多個容器內的所有進程
21port 列出容器的端口映射或特定映射
22ps 列出容器
23pull 從註冊表中提取鏡像或存儲庫
24push 將鏡像或存儲庫推送到註冊表
25rename 重命名容器
26restart 重啓一個或多個容器
27rm 移除一個或多個容器
28rmi 移除一張或多張鏡像
29run 在新容器中運行命令
30save 將一個或多個鏡像保存到 tar 存檔(默認流式傳輸到 STDOUT)
31search 在 Docker Hub 中搜索鏡像
32start 啓動一個或多個停止的容器
33stats 顯示容器資源使用統計的實時流
34stop 停止一個或多個正在運行的容器
35tag 創建一個引用 SOURCE_IMAGE 的標記 TARGET_IMAGE
36top 顯示容器的運行進程
37unpause 取消暫停一個或多個容器中的所有進程
38update 更新一個或多個容器的配置
39version 顯示 Docker 版本信息
40wait 阻塞直到一個或多個容器停止,然後打印它們的退出代碼
41
42<環境參數>
43 --add-host list # 添加自定義主機到 IP 映射 (host:ip)
44-a, --attach list # 連接到 STDIN、STDOUT 或 STDERR
45 --blkio-weight uint16 # 塊 IO(相對權重),介於 10 和 1000 之間,或 0 禁用(默認 0)
46 --blkio-weight-device list # 塊 IO 權重(相對設備權重)(默認 [])
47 --cap-add list # 添加 Linux 功能
48 --cap-drop list # 放棄 Linux 功能
49 --cgroup-parent string # 容器的可選父 cgroup
50 --cgroupns string # 要使用的 Cgroup 命名空間(主機|私有)
51 # 'host': 在 Docker 主機的 cgroup 命名空間中運行容器
52 # 'private': 在自己的私有 cgroup 命名空間中運行容器
53 # '': 使用由守護進程上的
54 # default-cgroupns-mode 選項配置的 cgroup 命名空間(默認)
55 --cidfile string # 將容器 ID 寫入文件
56 --cpu-period int # 限制 CPU CFS(完全公平調度器)週期
57 --cpu-quota int # 限制 CPU CFS(完全公平調度器)配額
58 --cpu-rt-period int # 以微秒爲單位限制 CPU 實時週期
59 --cpu-rt-runtime int # 以微秒爲單位限制 CPU 實時運行時間
60-c, --cpu-shares int # CPU 份額(相對權重)
61 --cpus decimal # CPU 數量
62 --cpuset-cpus string # 允許執行的 CPU (0-3, 0,1)
63 --cpuset-mems string # 允許執行的 MEM (0-3, 0,1)
64 --device list # 將主機設備添加到容器
65 --device-cgroup-rule list # 將規則添加到 cgroup 允許的設備列表
66 --device-read-bps list # 限制設備的讀取速率(每秒字節數)(默認 [])
67 --device-read-iops list # 限制設備的讀取速率(每秒 IO)(默認 [])
68 --device-write-bps list # 限制設備的寫入速率(每秒字節數)(默認 [])
69 --device-write-iops list # 限制設備的寫入速率(每秒 IO)(默認 [])
70 --disable-content-trust # 跳過鏡像驗證(默認爲 true)
71 --dns list # 設置自定義 DNS 服務器
72 --dns-option list # 設置 DNS 選項
73 --dns-search list # 設置自定義 DNS 搜索域
74 --domainname string # 容器 NIS 域名
75 --entrypoint string # 覆蓋鏡像的默認入口點
76-e, --env list # 設置環境變量
77 --env-file list # 讀入環境變量文件
78 --expose list # 公開一個端口或一系列端口
79 --gpus gpu-request # 要添加到容器中的 GPU 設備(“全部”以傳遞所有 GPU)
80 --group-add list # 添加其他組以加入
81 --health-cmd string # 運行以檢查運行狀況的命令
82 --health-interval duration # 運行檢查之間的時間 (ms|s|m|h) (默認 0s)
83 --health-retries int # 需要報告不健康的連續失敗
84 --health-start-period duration # 開始健康重試倒計時之前容器初始化的開始時間(ms|s|m|h)(默認 0s)
85 --health-timeout duration # 允許運行一項檢查的最長時間 (ms|s|m|h) (默認 0s)
86 --help # 打印使用
87-h, --hostname string # 容器主機名
88 --init # 在容器內運行一個 init 來轉發信號並收穫進程
89-i, --interactive # 即使沒有連接,也保持 STDIN 打開
90 --ip string # IPv4 地址(例如 172.30.100.104)
91 --ip6 string # IPv6 地址(例如,2001:db8::33)
92 --ipc string # 要使用的 IPC 模式
93 --isolation string # 容器隔離技術
94 --kernel-memory bytes # 內核內存限制
95-l, --label list # 在容器上設置元數據
96 --label-file list # 讀入以行分隔的標籤文件
97 --link list # 添加到另一個容器的鏈接
98 --link-local-ip list # 容器 IPv4/IPv6 鏈路本地地址
99 --log-driver string # 容器的日誌記錄驅動程序
100 --log-opt list # 日誌驅動程序選項
101 --mac-address string # 容器 MAC 地址(例如 92:d0:c6:0a:29:33)
102-m, --memory bytes # 內存限制
103 --memory-reservation bytes # 內存軟限制
104 --memory-swap bytes # 交換限制等於內存加上交換:'-1' 啓用無限交換
105 --memory-swappiness int # 調整容器內存交換(0 到 100)(默認 -1)
106 --mount mount # 將文件系統掛載附加到容器
107 --name string # 爲容器分配名稱
108 --network network # 將容器連接到網絡
109 --network-alias list # 爲容器添加網絡範圍的別名
110 --no-healthcheck # 禁用任何容器指定的 HEALTHCHECK
111 --oom-kill-disable # 禁用 OOM 殺手
112 --oom-score-adj int # 調整主機的 OOM 首選項(-1000 到 1000)
113 --pid string # 要使用的 PID 命名空間
114 --pids-limit int # 調整容器 pids 限制(設置 -1 表示無限制)
115 --platform string # 如果服務器支持多平臺,則設置平臺
116 --privileged # 授予此容器擴展權限
117-p, --publish list # 將容器的端口發佈到主機
118-P, --publish-all # 將所有暴露的端口發佈到隨機端口
119 --pull string # 創建前拉取鏡像("always"|"missing"|"never")(默認"missing")
120 --read-only # 將容器的根文件系統掛載爲只讀
121 --restart string # 容器退出時應用的重啓策略(默認“否”)
122 --rm # 容器退出時自動移除
123 --runtime string # 用於此容器的運行時
124 --security-opt list # 安全選項
125 --shm-size bytes # /dev/shm 的大小
126 --stop-signal string # 停止容器的信號(默認“SIGTERM”)
127 --stop-timeout int # 停止容器的超時(以秒爲單位)
128 --storage-opt list # 容器的存儲驅動程序選項
129 --sysctl map # Sysctl 選項(默認 map[])
130 --tmpfs list # 掛載 tmpfs 目錄
131-t, --tty # 分配一個僞 TTY
132 --ulimit ulimit # ulimit 選項(默認 [])
133-u, --user string # 用戶名或 UID(格式:<name|uid>[:<group|gid>])
134 --userns string # 要使用的用戶命名空間
135 --uts string # 要使用的 UTS 命名空間
136-v, --volume list # 綁定掛載卷
137 --volume-driver string # 容器的可選卷驅動程序
138 --volumes-from list # 從指定容器掛載卷
139-w, --workdir string # 容器內的工作目錄
實例
介紹幾個常用場景:Docker Hub鏡像市場相關,鏡像倉庫命令。
1、下載docker hub鏡像市場中的鏡像。
1docker pull user/image
2、在 docker hub 中搜索鏡像。
1# 注意需要下載鏡像才能使用
2docker search search_word
3、向 docker hub 進行身份驗證。
1docker login
4、將鏡像上傳到 docker hub。
1docker push user/image
官網
更多安裝使用方法可以訪問學習:https://wangchujiang.com/reference/docs/docker.html 由上海 屠天煜編寫 來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。