站長資訊網
最全最豐富的資訊網站

docker run和docker exec命令的區別是什么

區別:1、“docker run”的操作對象是“鏡像”,而“docker exec”的操作對象是“容器”;2、“docker run”適用適合沒有容器運行的情況,而“docker exec”適用于在現有容器中運行命令的情況。

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" or –cpuset="0,1,2": 綁定容器到指定CPU運行;

  • -m :設置容器使用內存最大值;

  • –net="bridge": 指定容器的網絡連接類型,支持 bridge/host/none/container:<name|id> 四種類型;

  • –link=[]: 添加鏈接到另一個容器;

  • –expose=[]: 開放一個端口或一組端口;

  • –volume , -v: 綁定一個卷

實例

使用docker鏡像 nginx:latest 以后臺模式啟動一個容器,并將容器命名為my-nginx。

docker run --name my-nginx -p 8081:80 -d nginx:latest

docker run和docker exec命令的區別是什么

瀏覽器訪問 http://主機IP:8081,效果如下:

docker run和docker exec命令的區別是什么

使用鏡像 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 run和docker exec命令的區別是什么


docker exec 命令

語法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS說明:

  • -d : 分離模式: 在后臺運行

  • -i : 即使沒有附加也保持STDIN 打開

  • -t : 分配一個偽終端

在容器名稱 my-nginx 中開啟一個交互模式的終端:

docker exec -it my-nginx /bin/bash

docker run和docker exec命令的區別是什么

或者使用容器ID 721eb23901ce 開啟一個交互模式的終端:

docker exec -it 721eb23901ce /bin/bash

docker run和docker exec命令的區別是什么

推薦學習:《docker視頻教程》

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产成人高清精品免费鸭子| 精品少妇人妻AV一区二区三区| 亚洲精品尤物yw在线影院| 在线观看精品国产福利片87| 久久精品中文字幕大胸| 精品无码人妻一区二区三区| 久久久久四虎国产精品| 国精品产露脸自拍| 亚洲精品亚洲人成在线观看下载 | 日韩视频在线精品视频免费观看| 精品国产三上悠亚在线观看| 亚洲啪AV永久无码精品放毛片| 精品无码免费专区毛片| 精品亚洲成a人片在线观看 | 国产精品合集一区二区三区| 嫖妓丰满肥熟妇在线精品| 日本精品中文字幕| 亚洲精品夜夜夜妓女网| 99精品久久精品一区二区| 国产精品亚洲mnbav网站| 凹凸69堂国产成人精品视频| 日韩精品福利在线| 亚洲日韩国产二区无码| 亚洲精品国产日韩| 日韩av午夜在线观看| 中文字幕日韩精品无码内射| 国产成人精品三级麻豆| 国产成人麻豆精品午夜福利在线 | 国产一区二区精品| 在线涩涩免费观看国产精品| 91老司机深夜福利精品视频在线观看| 久久精品女人天堂AV麻| 精品国产成人国产在线观看| 国产精品成人免费观看| 国产成人精品高清不卡在线| segui久久综合精品| 亚洲国产精品成人AV无码久久综合影院| 拍国产乱人伦偷精品视频 | 99久久婷婷免费国产综合精品| 精品国产一级在线观看| 国产三级精品久久|