Docker運(yùn)行臨時鏡像容器的實(shí)現(xiàn)
問題
我們在基于docker進(jìn)行鏡像構(gòu)建或進(jìn)行問題排查,或需要對鏡像的適用性進(jìn)行初步調(diào)試,如鏡像內(nèi)的運(yùn)行環(huán)境、依賴包版本、目錄結(jié)構(gòu)等,此時就需要將鏡像啟動起來,對內(nèi)部情況進(jìn)行查看或調(diào)試,我們有兩種方法可以實(shí)現(xiàn)
普通應(yīng)用鏡像
部分應(yīng)用鏡像可以直接運(yùn)行,然后進(jìn)入容器內(nèi)進(jìn)行調(diào)試,如Mysql、Redis等,調(diào)試后刪除容器即可,此時可以不考慮端口映射、文件目錄掛載等因素,如調(diào)試redis
建議先運(yùn)行起容器,再進(jìn)入容器內(nèi)部調(diào)試,不建議直接使用-it等命令,因?yàn)閼?yīng)用鏡像會默認(rèn)啟動他們自己的進(jìn)程,-it會失效
# 啟動容器 docker run --name redis-debug -d redis:v7.0.5 # 等待啟動完成,進(jìn)入容器 docker exec -it redis-debug /bin/sh # 調(diào)試完成,刪除容器
基礎(chǔ)鏡像
對于基礎(chǔ)鏡像,直接啟動容器的方式是不可行的,其實(shí)也不是啟動失敗,而是先運(yùn)行后因沒有其他的指令需要執(zhí)行,導(dǎo)致生命周期結(jié)束。
此處方法可同時滿足基礎(chǔ)鏡像和各種應(yīng)用鏡像
# 臨時啟動鏡像容器,并強(qiáng)制進(jìn)入sh docker run --rm -it --entrypoint /bin/sh --name redis-debug image:version # 參數(shù)解釋 #run: 運(yùn)行指令 #--rm: 容器停止后刪除,如容器的文件系統(tǒng)或其他資源 #-it: 交互式命令終端 #--entrypoint /bin/sh: 強(qiáng)制覆蓋入口第一個進(jìn)程,例如redis會啟動redis-server,此時會將redis-server替換為/bin/sh, 不同的發(fā)行版對應(yīng)的常用終端可自己調(diào)整, 如centos的可使用/bin/bash #--name: 容器名稱 #image:version: 鏡像及版本 # 調(diào)試結(jié)束,使用exit命令退出容器,容器會自動刪除 exit
到此這篇關(guān)于Docker運(yùn)行臨時鏡像容器的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Docker 運(yùn)行臨時鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Docker分層構(gòu)建優(yōu)化鏡像大小的實(shí)現(xiàn)
合適docker鏡像文件大小不僅影響容器啟動效率,也影響資源占用效率,本文介紹如何利用分層方式構(gòu)建docker鏡像,采用多種方式避免鏡像文件太大而影響性能,需要的朋友可以參考下2025-01-01
云原生自動化應(yīng)用于docker倉庫私有憑據(jù)secret創(chuàng)建
這篇文章主要為大家介紹了云原生自動化應(yīng)用于docker倉庫私有憑據(jù)secret創(chuàng)建,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
docker?compose重啟單個服務(wù)和所有服務(wù)的方法
Docker Compose 是一個用于定義和運(yùn)行多容器 Docker 應(yīng)用程序的工具,下面這篇文章主要介紹了docker?compose重啟單個服務(wù)和所有服務(wù)的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-07-07
使用Docker部署的基于binlog實(shí)現(xiàn)Mysql8的操作方法
MySQL 基于?Binlog?的主從復(fù)制(Master-Slave Replication)是 MySQL 數(shù)據(jù)庫中實(shí)現(xiàn)數(shù)據(jù)復(fù)制的一種機(jī)制,這篇文章主要介紹了使用Docker部署的基于binlog實(shí)現(xiàn)Mysql8,需要的朋友可以參考下2025-01-01
Docker安裝Jenkins-2.249.3-1.1的詳細(xì)過程
這篇文章主要介紹了Docker安裝Jenkins-2.249.3-1.1,通過編寫docke安裝腳本來實(shí)現(xiàn)安裝目的,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10
Docker實(shí)現(xiàn)進(jìn)入容器內(nèi)部的方法
這篇文章主要介紹了Docker實(shí)現(xiàn)進(jìn)入容器內(nèi)部的方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
elasticsearch?組件基于單機(jī)的多實(shí)例集群部署方法
es 作為搜索引擎,應(yīng)用場景不乏日志分析、網(wǎng)絡(luò)安全、搜索引擎等,有時也會用作日志數(shù)據(jù)庫使用,畢竟其出色的搜索查詢性能,不是同等量級 關(guān)系型數(shù)據(jù)庫可以比擬的,這篇文章主要介紹了elasticsearch?組件基于單機(jī)的多實(shí)例集群,需要的朋友可以參考下2024-03-03

