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

相關文章:

翻譯: