`docker run -it --rm` 筆記250624

docker run -it --rm 筆記250624

docker run -it --rm 是一個強大且常用的 Docker 命令組合,特別適合交互式開發和調試場景。以下是詳細解析和使用指南:


參數解析

參數作用典型場景
-i保持 STDIN 打開(交互模式)需要輸入命令的交互操作
-t分配偽終端(TTY)需要終端交互(如 Bash)
--rm容器退出后自動刪除文件系統臨時任務,避免殘留容器

核心價值

  1. 即時清理
    容器退出后自動刪除,避免產生大量停止狀態的容器(docker ps -a 顯示的無用容器)
  2. 安全實驗
    可在容器內自由測試危險操作(如 rm -rf /*),不影響宿主機
  3. 環境一致性
    每次啟動都是全新的干凈環境(適合 CI/CD 測試)

典型使用場景

1. 臨時調試工具鏈
# 使用最新 Ubuntu 調試網絡問題(退出即刪)
docker run -it --rm ubuntu bash -c "apt update && apt install -y curl && curl example.com"
2. 語言環境快速測試
# 測試 Python 代碼(不污染本地環境)
docker run -it --rm python:3.9 python
>>> print("Hello, Docker!")
3. 文件操作沙箱
# 安全解壓未知壓縮包
docker run -it --rm -v $(pwd):/data alpine sh
/data # unzip suspicious.zip
4. 數據庫臨時查詢
# 單次 SQL 查詢(避免殘留容器)
docker run -it --rm mysql:8.0 mysql -hdb_host -uroot -p"$PWD" -e "SHOW DATABASES"

進階使用技巧

1. 組合掛載目錄
# 掛載當前目錄并安裝依賴(退出后容器消失,依賴不殘留)
docker run -it --rm -v $(pwd):/app -w /app node:14 npm install
2. 多命令執行
# 在 Alpine 中執行多個命令
docker run -it --rm alpine sh -c "date && echo '測試完成'"
3. 快速清理所有臨時容器
# 刪除所有已停止的容器(常與 --rm 配合使用)
docker container prune -f

注意事項

  1. 數據持久化
    --rm 不會刪除卷(Volumes)或綁定掛載(Bind Mounts)的數據:

    # 安全修改文件(修改會保留在宿主機)
    docker run -it --rm -v $(pwd):/data ubuntu nano /data/file.txt
    
  2. 禁止場景

    • 需要長期運行的服務(如 Web 服務器)
    • 需要保留運行歷史或日志的場景
  3. 資源限制
    可配合資源限制使用:

    docker run -it --rm --memory=500m --cpus=0.5 python
    

與常規啟動的對比

特性docker run -it --rm普通 docker run -d
容器生命周期退出即銷毀需手動停止/刪除
磁盤空間自動清理累積停止容器占用空間
環境狀態每次啟動都是全新環境保留之前狀態
適用場景調試/測試/臨時任務長期運行服務

經典工作流示例

# 1. 調試構建失敗問題
docker run -it --rm -v $(pwd):/src buildpack-deps make test# 2. 檢查容器內進程
docker run -it --rm busybox top# 3. 臨時 HTTP 測試服務
docker run -it --rm -p 8080:80 nginx

掌握 -it --rm 組合能極大提升 Docker 使用效率,特別適合開發、測試和排查問題場景!

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

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

相關文章

解鎖阿里云AnalyticDB:數據倉庫的革新利器

AnalyticDB:云數據倉庫新勢力 在數字化浪潮中,數據已成為企業的核心資產,而云數據倉庫作為數據管理與分析的關鍵基礎設施,正扮演著愈發重要的角色。阿里云 AnalyticDB 作為云數據倉庫領域的佼佼者,以其卓越的性能、創…

【PX30 Qt 5.15 交叉編譯環境搭建完整指南】

PX30 Qt 5.15 交叉編譯環境搭建完整指南 (Ubuntu 20.04 → PX30 aarch64) 🎯 項目概覽 本指南詳細記錄了在Ubuntu 20.04上搭建針對Rockchip PX30的Qt 5.15.2交叉編譯環境的完整過程,包括實際操作步驟、遇到的問題及解決方案。 目標平臺: Rockchip PX3…

深入理解讀寫鎖 ReadWriteLock

在高性能并發編程中,如何有效地管理共享資源的訪問是核心挑戰之一。傳統的排他鎖(如ReentrantLock)在讀多寫少的場景下,性能瓶頸尤為突出,因為它不允許并發讀取。Java并發包(java.util.concurrent.locks&am…

Unity Addressable使用之檢測更新流程

補充知識 關鍵文件說明 Addressable打包后會生成多種文件,主要包括 .hash、.json 和 .bundle 文件,它們各自有不同的作用。 .hash 文件(哈希文件) 作用: 用于 版本對比,檢查資源是否有更新。存儲的是 資…

Elasticsearch 中實現推薦搜索(方案設想)

1. 存儲商品數據的數據類型 為了支持推薦搜索,商品數據通常需要包含以下字段: 商品索引結構 PUT /products {"mappings": {"properties": {"product_id": {"type": "keyword" // 商品 ID},"…

Aerotech系列(4)Aerotech.A3200名空間

IconTypeDescriptionAxisMask Represents a selection of axes Controller Represents a controller Allows configuring and c

React Router 是怎么實現靈活導航的?

&#x1f399; 歡迎來到《前端達人 React播客書單》第 21 期。 視頻版&#xff08;播客風格更精彩&#xff09; 今天我們不講 Hook&#xff0c;來拆解前端開發中另一個高頻組件&#xff1a;React Router 的進階導航模式。 你可能用過 <Link> 或 <Route>&#xff0…

Modbus TCP轉Profibus DP網關與JF - 600MT 稱重變送器輕松實現數據互換

Modbus TCP轉Profibus DP網關與JF - 600MT 稱重變送器輕松實現數據互換 在工業自動化領域&#xff0c;不同設備之間的通信與數據交互至關重要。Modbus TCP轉Profibus DP網關作為連接不同協議設備的關鍵橋梁&#xff0c;發揮著不可或缺的作用。本文將以JF - 600MT稱重變送器與3…

聊聊 SQL 注入那些事兒

相信大家對于學校們糟糕的網絡環境和運維手段都早有體會&#xff0c;在此就不多做吐槽了。今天我們來聊一聊SQL注入相關的內容。 何謂SQL注入&#xff1f; SQL注入是一種非常常見的數據庫攻擊手段&#xff0c;SQL注入漏洞也是網絡世界中最普遍的漏洞之一。大家也許都聽過某某學…

多傳感器融合

目錄 多傳感器融合 多傳感器融合的方向 傳感器融合方案介紹 LOAM LIO-SAM LVI-SAM 多線激光雷達性質 什么是運動畸變 兩步優化的幀間里程記 IMU 器件介紹及選型建議 IMU 標定方法簡介 視覺里程計 VS 激光里程計 LVI-SAM 激光視覺融合思路簡介 多傳感器融合工程實踐經驗與技巧 多…

Auto-GPT vs ReAct:兩種智能體思路對決

目錄 Auto-GPT vs ReAct&#xff1a;兩種智能體思路對決 &#x1f9e0; 一、智能體的演化背景 &#x1f9e9; 二、Auto-GPT&#xff1a;自循環的執行體 &#x1f50d; 三、ReAct&#xff1a;推理 行動的交錯協同 ?? 四、對比總結 &#x1f6e0; 五、你該選誰&#xff…

本地部署大模型性能測試,DeepSeek-R1-0528-Qwen-8B 依然是我的不二之選

大家好&#xff0c;我是 ai 學習的老章 介紹一個大模型并發性能測試工具 看一下我高頻使用的&#xff0c;在2*4090顯卡上部署的 DeepSeek-R1-0528-Qwen-8B 性能如何 _我_特別喜歡的三個DeepSeek版本 DeepSeek-R1-0528 蒸餾 Qwen3:8B 大模型&#xff0c;雙 4090 本地部署&am…

華為云Flexus+DeepSeek征文|華為云 Dify 高可用部署教程:CCE 容器集群一鍵構建企業級智能應用

前言 在數字化轉型加速的企業級應用場景中&#xff0c;構建高可用智能平臺已成為業務創新的核心驅動力。本文深度解析基于華為云CCE容器服務的Dify智能應用部署實踐&#xff0c;揭示如何通過云原生架構與AI技術的深度融合&#xff0c;實現企業知識管理、智能客服等場景的敏捷落…

Linux 多進程間通信(IPC)詳解

在 Linux 系統中,多進程通信(Inter-Process Communication, IPC) 是實現多個進程之間數據交換和同步的重要機制。由于每個進程擁有獨立的地址空間,因此需要借助特定的系統機制來實現信息共享。 ?? Linux 下常見的 6 種進程間通信方式 管道(Pipe)命名管道(FIFO)消息隊…

服務器數據恢復——異常斷電導致服務器故障的數據恢復案例

服務器數據恢復環境&#xff1a; 某服務器上有一組由12塊硬盤組建的raid5磁盤陣列。 機房供電不穩定導致機房中該服務器非正常斷電&#xff0c;重啟服務器后管理員發現服務器無法正常使用。 意外斷電可能會導致服務器上的raid模塊損壞。 服務器數據恢復過程&#xff1a; 1、將故…

微信小程序中 rpx與px的區別

在微信小程序中的rpx比px方便的多 <!--pages/welcome/welcome.wxml--> <!--rpx替換px--> <image style"width:200rpx;height: 200rpx"src"/images/avatar/3.png"></image> <text>你好&#xff0c;凍梨</text> <but…

python3實現QQ官方機器人回調驗證

考慮到第三方的機器人現在越來越難維持了&#xff0c;來搗鼓一下官方的機器人。雖然官方藏著掖著不肯開放很多功能&#xff0c;但起碼能用。官方機器人的優點是穩定&#xff0c;只要申請成功&#xff0c;且你自己不亂搞&#xff0c;基本不存在被封的可能&#xff0c;缺點是藤子…

基于Vue3+TS的自定義指令開發與業務場景應用

文章目錄 1. 前言2. 基礎概念與優勢?3. Vue3TS自定義指令的創建與注冊?3.1. 創建自定義指令?3.2. 注冊自定義指令? 4. 實際場景示例?4.1. 權限指令控制?4.2. 圖片懶加載指令? 5. 優化與注意事項? 1. 前言 在 Vue3 的開發生態中&#xff0c;自定義指令是一項極為靈活且…

Elasticsearch 索引文檔的流程

Elasticsearch 索引文檔的流程是一個分布式、多階段的過程&#xff0c;涉及客戶端請求、路由、主副本同步及持久化等步驟&#xff0c;具體流程如下&#xff1a; 一、客戶端請求與路由 1.1 文檔接收與路由計算? 客戶端通過 REST API 發送文檔寫入請求&#xff0c;需指…

【unity】批量剔除圖片四周空白像素的工具

摘要&#xff1a;Unity圖片空白像素批量處理工具 該工具提供兩種方式批量剔除圖片空白像素&#xff1a; 靜態處理類&#xff1a;提供TrimTexture方法&#xff0c;可讀取紋理像素數據&#xff0c;計算非透明區域邊界&#xff0c;生成裁剪后的新紋理&#xff1b;SaveTexture方法…