0
点赞
收藏
分享

微信扫一扫

docker run 的 -i -t -d参数


前言

docker run 的 -i -t -d参数_docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。

但是每次运行容器的时候都会遇到——“我是执行了docker run可是就是没有启动成功”,这是啥情况呢,一般都是(-i, -t, -d)这三个参数的使用问题,所以下面就详细介绍一下这-i,-t,-d都应用在什么情况下以及又应该怎么组合搭配使用

这三个参数(-i, -t, -d)是啥意思

docker run 的 -i -t -d参数_后台运行_02


该如何组合应用这三个参数

例如:”我想在后台运行一个镜像“,当我执行下方命令的时候

docker run -d --name server somebody:dockerfile

通过docker ps查看是否运行成功,却发现,没有运行成功,这是什么情况呢??后台运行不就是运用-d参数吗?其实主要原因就是这个镜像可能最后添加了CMD就类似

CMD ["/bin/bash"]

意思就是当你在后台运行的时候,这个镜像创建的容器会首先执行/bin/bash,这意味着,当在后台运行(-d)时,shell立即退出。所以除非命令未在前台运行,否则容器会立即停止
解决方法

通过-i或者-t为-d提供一个伪”tty n“
docker run -i -d images:tags

docker run -t -d images:tags

docker run -itd images:tags

将 tail -f /dev/null 添加到命令中
通过执行此操作,即使主命令在后台运行,容器也不会停止,因为tail会在前台继续运行。
docker run -d centos tail -f /dev/null

另外一种情况(进入容器)也是如此,Docker官方更是提倡-i 和 -t搭配使用,使其行为类似于shell。

docker run -i -t <images:tags>

更多细节在官方文档有提到哦
分离模式 and in 前台模式 (-t, -i or -it)

其他参数

docker run 的 -i -t -d参数_docker_03

举报

相关推荐

0 条评论