區別:1、“docker run”的操作對像是“鏡像”,而“docker exec”的操作對像是“容器”;2、“docker run”適用適合沒有容器運行的情況,而“docker exec”適用於在現有容器中執行命令的情況。
本教學操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。
docker run 和docker exec 的差異
docker run :根據映像建立一個容器並執行一個指令,操作的物件是映像;
#docker exec :在執行的容器中執行指令,操作的物件是 容器。
「docker run」通常是在新建立的容器中所使用的指令。它適用適合沒有容器運行的情況,您想要建立一個容器,並且要啟動它,然後在其上執行一個進程。
「docker exec」適用於在現有容器中執行指令的情況。如果您已經擁有了一個正在運行的容器,並希望更改該容器或從中獲取某些內容,那麼使用「docker exec」命令就非常合適了。
docker run 指令
語法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS說明:
-
-a stdin: 指定標準輸入輸出內容類型,可選STDIN/STDOUT/STDERR 三項;
-
##-d: 後台運行容器,並返回容器ID;-i:
以交互模式運行容器,通常與-t 同時使用; -
-P:
隨機連接埠映射,容器內部連接埠 - 隨機
對應到主機的高埠
- -p
: 指定連接埠映射,格式為:主機(宿主)連接埠:
容器連接埠 -
-t
: - 為容器重新分配一個偽輸入終端,通常與-i 同時使用;
--name="nginx-lb"
: - 為容器指定一個名稱;
--dns 8.8.8.8
: - 指定容器使用的DNS伺服器,預設和宿主一致;
--dns-search example.com
: - 指定容器DNS搜尋域名,預設和宿主一致;
#-h "mars"
: - 指定容器的hostname;
-e username ="ritchie"
: - 設定環境變數;
#--env-file=[]
: - 從指定檔案讀入環境變數;
--cpuset="0-2" 或 --cpuset="0,1,2"
: - 綁定容器到指定CPU運作;
-m
: - 設定容器使用記憶體最大值;
--link=[]
: 加入連結到另一個容器;
:
開放一個連接埠或一組連接埠;#################--volume , -v###: ###綁定一個磁碟區###############實例#########使用docker映像nginx:latest 以後台模式啟動一個容器,並將容器命名為my-nginx。 ###docker run --name my-nginx -p 8081:80 -d nginx:latest############ 瀏覽器存取http://主機IP:8081,效果如下:###############使用映像nginx: latest 以後台模式啟動一個容器,並將容器的80埠對應到主機隨機埠:###
docker run -P -d nginx:latest
使用镜像 nginx:latest 以后台模式启动一个容器,将主机的 80 端口映射到容器的 80 端口,主机的目录 /data 映射到容器的 /data:
docker run -p 80:80 -v /data:/data -d nginx:latest
使用镜像 nginx:latest 以交互模式启动一个容器,在容器内执行/bin/bash命令:
docker run -it nginx:latest /bin/bash
docker exec 命令
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
-d : 分离模式: 在后台运行
-i : 即使没有附加也保持STDIN 打开
-t : 分配一个伪终端
在容器名称 my-nginx 中开启一个交互模式的终端:
docker exec -it my-nginx /bin/bash
或者使用容器ID 721eb23901ce 开启一个交互模式的终端:
docker exec -it 721eb23901ce /bin/bash
推荐学习:《docker视频教程》
以上是docker run和docker exec指令的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Docker和Kubernetes的關係是:Docker用於打包應用,Kubernetes用於編排和管理容器。 1.Docker通過容器技術簡化應用打包和分發。 2.Kubernetes管理容器,確保高可用性和可擴展性。它們結合使用可提升應用部署和管理效率。

Docker通過容器技術解決了軟件在不同環境中運行一致性的問題。其發展歷程從2013年至今,推動了雲計算生態系統的演進。 Docker利用Linux內核技術實現進程隔離和資源限制,提高了應用的可移植性。在開發和部署中,Docker提升了資源利用率和部署速度,支持DevOps和微服務架構,但也面臨鏡像管理、安全性和容器編排的挑戰。

Docker和虛擬機各有優缺點,選擇應根據具體需求。 1.Docker輕量、快速,適合微服務和CI/CD,啟動快,資源佔用少。 2.虛擬機提供高隔離性和多操作系統支持,但資源消耗大,啟動慢。

Docker架構的核心概念是容器和鏡像:1.鏡像是容器的藍圖,包含應用及其依賴。 2.容器是鏡像的運行實例,基於鏡像創建。 3.鏡像由多個只讀層組成,容器運行時添加可寫層。 4.通過Linux命名空間和控制組實現資源隔離和管理。

Docker通過容器化技術簡化了應用程序的構建、部署和運行。 1)Docker是一個開源平台,使用容器技術打包應用及其依賴,確保跨環境一致性。 2)鏡像和容器是Docker的核心,鏡像為應用的可執行包,容器為鏡像的運行實例。 3)Docker的基本用法如運行Nginx服務器,高級用法如使用DockerCompose管理多容器應用。 4)常見錯誤包括鏡像下載失敗和容器啟動失敗,調試技巧包括查看日誌和檢查端口。 5)性能優化和最佳實踐包括鏡像優化、資源管理和安全性提升。

使用Kubernetes和Docker部署容器化應用的步驟包括:1.構建Docker鏡像,使用Dockerfile定義應用鏡像並推送到DockerHub。 2.在Kubernetes中創建Deployment和Service來管理和暴露應用。 3.使用HorizontalPodAutoscaler實現動態擴展。 4.通過kubectl命令調試常見問題。 5.優化性能,定義資源限制和請求,並使用Helm管理配置。

Docker是一個開源平台,用於開發、打包和運行應用程序,通過容器化技術解決應用在不同環境中的一致性問題。 1.構建鏡像:通過Dockerfile定義應用環境和依賴,使用dockerbuild命令構建。 2.運行容器:使用dockerrun命令從鏡像啟動容器。 3.管理容器:通過dockerps、dockerstop、dockerrm等命令管理容器生命週期。

如何利用Docker和Linux構建可移植的應用程序?首先,使用Dockerfile容器化應用,然後在Linux環境中管理和部署容器。 1)編寫Dockerfile,將應用及其依賴打包成鏡像。 2)使用dockerbuild和dockerrun命令在Linux上構建和運行容器。 3)通過DockerCompose管理多容器應用,定義服務依賴關係。 4)優化鏡像大小和資源配置,增強安全性,提升應用性能和可移植性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver Mac版
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版
中文版,非常好用

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!