当前位置: 首页 > news >正文

docker-compose-itd和d

docker run -itd和-d的区别

前言:

​ 今天在通过docker-compose启动一基于ubuntu的镜像容器时,发现启动后,容器会一直停止。但是通过docker run -itd是可以正常运行的。基于这个区别,找了一位大神(师傅)问了下,他让我执行一下docker run -d ,执行后发现也是立马停止。所以立马查了下docker run -ird和docke run -d的区别。

  1. -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:26090"command: tail -f /dev/null
http://www.lryc.cn/news/343642.html

相关文章:

  • WordPress MasterStudy LMS插件 SQL注入漏洞复现(CVE-2024-1512)
  • 初识Vue-组件通信(详解props和emit)
  • 二叉树的前序、中序、后序遍历的C++实现
  • golang中数组array和切片slice的区别
  • LSM-Tree 原理分析
  • 【代码随想录37期】Day01 二分查找 + 移除元素
  • GitPython 使用教程
  • MATLAB 基于规则格网的点云抽稀方法(自定义实现)(65)
  • 论文阅读】 ICCV-2021-3D Local Convolutional Neural Networks for Gait Recognition
  • 同一局域网如何从Windows系统拷贝文件到银河麒麟系统
  • 2024年华为OD机试真题-数的分解-(C++)-OD统一考试(C卷D卷)
  • vue-img-cutter 图片裁剪详解
  • PCL 点云中的平面点云提取
  • 4.用python爬取保存在text中的格式为m3u8的视频
  • 240503-关于Unity的二三事
  • 顺序栈的操作
  • STM32 各外设GPIO配置
  • React-hooks相关知识点总结
  • 20240508日记
  • Web实操(6),基础知识学习(24~)
  • JavaSE——方法详解
  • iBarcoder for Mac:一站式条形码生成软件
  • 学习R语言第六天
  • LeetCode算法题:9. 回文数(Java解法)
  • VALSE 2024 Workshop报告分享┆面向实际场景体验的多模态大模型DeepSeek VL
  • RFC 791 (1)-导论
  • 力扣hot100:199. 二叉树的右视图/437. 路径总和 III(dfs/回溯/树上前缀和/哈希表)
  • 浅谈 HTTPS
  • js手动实现unshift
  • Failed to get DISPLAY: Error: All configured authentication methods failed 解决方法