博主介绍

📢点击下列内容可跳转对应的界面,查看更多精彩内容!

🍎主页:​​水香木鱼​​
🍍专栏:​​docker​​


文章目录

简介:这是一篇有关【Docker的交互式模式,你知道了吗?】的文章,博主用​​最精简的语言​​去表达给前端读者们。



使用Ubuntu镜像并开启交互模式

detached模式下的交互


有时候容器的镜像不是简单的一个服务,而是需要交互的操作系统。

例如创建一个​​Ubuntu系统​​​,然后需要到系统里​​输入各种Shell命令​​​和​​系统进行交互​​。

【这时候​​attached模式​​​和​​detached模式​​就不能满足要求了】需要使用交互模式。

1、使用Ubuntu镜像并开启交互模式

docker container run -it ubuntu sh
  • ​-it​​代表启用交互模式
  • ​sh​​代表可以使用Shell脚本

当你输入玩这个脚本后,Docker就会进入到交互模式。

可以使用​​ls​​​来得到目录下的文件,也可以使用​​hostname​​来查看计算机名称。

这时候你想退出容器和交互模式可以输入​​exit​​命令。

需要重点说明的是,随着命令退出后,容器也会跟着退出,变成Exited模式。

2、detached模式下的交互

如果我们想退出交互,但是并不想停止容器。可以先​​开启detached模式​​,然后通过命令进入交互模式。我们来操作一下,先删除所有的容器。

docker container rm -f $(docker container ls -aq)

然后再​​用detached模式创建一个nginx镜像的容器​​。

docker container run -d -p 80:80 nginx

直接通过下面的命令就可以进入到交互模式下了。(这是我们以后要经常使用的一个命令)

docker exec -it <ID or Image name> sh
  • ​exec​​是执行的意思
  • ​-it​​交互模式
  • ​sh​​交互的方式,用shell脚本进行交互

整个命令的意思是:用shell脚本的方式执行交互模式。
进入后可以使用ls来查看容器的文件系统。

这种模式的优点是,再使用exit退出后,服务并不会停止,而只是退出了交互模式。

可以自己尝试一下退出,然后使用​​docker container ls -a​​来查看一下容器的状态,你会发现依然是 up状态。