docker run和docker exec的區別

2021-09-21 13:14:27 字數 1509 閱讀 5057

docker run :建立乙個新的容器並執行乙個命令/docker exec:在執行的容器中執行命令

docker run :建立乙個新的容器並執行乙個命令

docker run [options] image [command] [arg...]
options說明:

使用docker映象nginx:latest以後臺模式啟動乙個容器,並將容器命名為mynginx。

docker run --name mynginx -d nginx:latest
使用映象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
繫結容器的 8080 埠,並將其對映到本地主機 127.0.0.1 的 80 埠上。

$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
使用映象nginx:latest以互動模式啟動乙個容器,在容器內執行/bin/bash命令。

runoob@runoob:~$ docker run -it nginx:latest /bin/bash

root@b8573233d675:/#

docker exec :在執行的容器中執行命令

docker exec [options] container command [arg...]
options說明:

在容器 mynginx 中以互動模式執行容器內 /root/runoob.sh 指令碼:

runoob@runoob:~$ docker exec -it mynginx /bin/sh /root/runoob.sh

在容器 mynginx 中開啟乙個互動模式的終端:

runoob@runoob:~$ docker exec -i -t  mynginx /bin/bash

root@b1a0703e41e7:/#

也可以通過 docker ps -a 命令檢視已經在執行的容器,然後使用容器 id 進入容器。

檢視已經在執行的容器 id:

# docker ps -a 

...9df70f9a0714 openjdk "/usercode/script.sh…"

...

第一列的 9df70f9a0714 就是容器 id。

通過 exec 命令對指定的容器執行 bash:

# docker exec -it 9df70f9a0714 /bin/bash

docker run 和 start 的區別

1.docker run docker run 只在第一次執行時使用,將映象放到容器中,以後再次啟動這個容器時,只需要使用命令docker start 即可。docker run相當於執行了兩步操作 將映象放入容器中 docker create 然後將容器啟動,使之變成執行時容器 docker st...

docker run和start的區別

docker run和docker start的區別 docker run只有在第一次執行時使用,將映象放到容器中,以後再次啟動這個容器的時候,只需要使用命令docker start就可以。docker run相當於執行了兩步操作 將映象 image 放到容器 container 中,這一步過程叫做...

docker run 命令詳解

命令格式 docker run options image command arg.作用 建立乙個新的容器並執行乙個命令 常用選項說明 d,detach false,指定容器執行於前台還是後台,i,interactive false,開啟stdin,用於控制台互動 t,tty false,分配tty...