做任务能赚钱的网站有哪些,网站建设销售好,建设l旅游网站目的及功能定位,英文网站源码docker run -itd和-d的区别
前言#xff1a;
今天在通过docker-compose启动一基于ubuntu的镜像容器时#xff0c;发现启动后#xff0c;容器会一直停止。但是通过docker run -itd是可以正常运行的。基于这个区别#xff0c;找了一位大神#xff08;师傅#xff09;问…docker run -itd和-d的区别
前言
今天在通过docker-compose启动一基于ubuntu的镜像容器时发现启动后容器会一直停止。但是通过docker run -itd是可以正常运行的。基于这个区别找了一位大神师傅问了下他让我执行一下docker run -d 执行后发现也是立马停止。所以立马查了下docker run -ird和docke run -d的区别。 -itd -i表示以交互模式运行容器通常与 -t 一起使用分配一个伪终端 (pseudo-TTY)。-t分配一个伪终端 (pseudo-TTY)。-d表示以后台方式 (detached mode) 运行容器即容器在后台运行并且不会占用当前终端。 使用 -itd 参数启动容器时容器会在后台运行并且你可以通过 docker attach 命令重新连接到容器的标准输入、输出和错误流以进行交互操作。 2.-d -d表示以后台方式 (detached mode) 运行容器即容器在后台运行并且不会占用当前终端。运行后会导致 bash 找不到要分配的伪终端。后台运行其实是有前提的如果没有前台进程那么实际运行完docker run命令后会处于退出状态即exited
docker run -d --name my-redis redis bash
# 指定命令是bash但显然bash在容器起来后很快就会结束导致没有前台进程故容器处于退出状态解决docker-compose不能启动容器
要使 Docker Compose 中的容器保持挂起状态即在容器启动后保持运行而不自动退出可以通过 docker-compose.yml 文件中的 command 字段来指定容器启动后要执行的命令
version: 3
services:web:image: nginx:latestcontainer_name: webrestart: alwaysprivileged: trueports:- 26090:26090command: tail -f /dev/null