docker run 命令参数

news2024/12/23 14:20:23

user

docker run -it --name=ubn18 --gpus all --privileged=true --shm-size 8G ubuntu:18.04 /bin/bash

-it 是什么意思

4o

在运行 docker run 命令时,-it 是两个选项的组合,用于更好地与容器进行交互:

  1. -i 或 --interactive:这个选项会保持标准输入流(STDIN)打开,并与容器保持连接,即使是容器没有附加终端时。这样你可以在容器内部输入命令,尤其是在需要交互的环境中,例如使用 shell 时。
  2. -t 或 --tty:这个选项会分配一个伪终端(pseudo-TTY)并连接到容器中。这使得你的终端行为更像是一个连接到 shell 的操作系统终端,提供终端输出格式。

因此,结合使用 -it,意味着你将启动一个交互模式的终端连接到容器中,使得你可以在容器内部执行命令并与其进行交互。这个配置对于在容器内使用 Bash shell 或其他交互式应用程序时非常有用。

user

如果在 - it 里面 ctrl d 容器是不是直接退出了

4o

  是的,在使用 docker run -it 启动的容器中,当你按下 Ctrl + D 时,这通常表示你想关闭标准输入流,或者是在终端中发送一个 EOF(End of File)信号。
  如果你是在一个交互式 shell(例如 Bash)中使用 Ctrl + D,这将会退出该 shell。当你的交互式 shell 退出时,如果容器的主要进程(在这种情况下,就是 Bash)也停止了,那么整个容器会退出。
  因此,在 docker run -it 模式下,按 Ctrl + D 通常会导致容器退出,因为这关闭了主要进程(交互式 shell)。如果你希望保持容器运行,可以考虑在后台启动它,并确保有其他进程能保持活动,或使用 docker exec 附加到一个正在运行的容器上。

user

怎么在后台启动

4o

要在后台运行 Docker 容器,你可以使用 -d(或 --detach)选项。这样,容器会以分离模式启动,不会在终端中阻塞,这样终端会立即返回控制权。
例如,你可以这样运行一个 Ubuntu 容器:

docker run -d --name=ubn18 --gpus all --privileged=true --shm-size 8G ubuntu:18.04

这样,容器会在后台运行。你可以通过 docker ps 命令查看正在运行的容器,并使用 docker logs <container_id> 查看容器的日志输出。
如果你需要访问该容器的终端,可以使用 docker exec 命令附加到正在运行的容器上。例如:

docker exec -it ubn18 /bin/bash

这会让你启动一个新的交互式终端会话,使你可以与后台运行的容器进行交互。

user

docker run -d --name=ubn18 --gpus all --privileged=true --shm-size 8G ubuntu:18.04

这样直接会退出

4o

  当你使用 docker run -d 启动一个容器时,容器将在后台运行。不过,如果你启动了一个像 ubuntu:18.04 这样的基础镜像,而没有指定任何长期运行的进程,那么容器会立即退出。这是因为 Docker 容器的生命周期取决于其主进程的生命周期。如果主进程(在这种情况下是默认的 /bin/bash 或 /bin/sh)退出,容器也会停止。
要保持容器长时间运行,你可以执行以下方法之一:

  1. 运行一个休眠命令:你可以让容器执行一个不会立即结束的命令,比如长时间运行的进程或简单的休眠命令。
Copy
   docker run -d --name=ubn18 --gpus all --privileged=true --shm-size 8G ubuntu:18.04 bash -c "while true; do sleep 1000; done"

这会让容器进入一个无限的休眠循环,保持容器运行。

  1. 运行一个守护进程:如果你有一个在容器内需要运行的守护进程服务,你可以以此作为启动命令。
    例如,假设你运行一个简单的 web 服务器或其他服务。

  2. 使用容器编排器:在实际应用中,运行复杂的容器应用通常会用到像 Kubernetes 或 Docker Compose 这样的编排工具,以确保容器内有服务持续运行。

通过这几种方法,确保主进程持续运行才能够让容器后台保持运行,否则容器完成指定命令后会退出。

user annotation

也可以

docker run -it --name=ubn18 --gpus all --privileged=true --shm-size 8G ubuntu:18.04 /bin/bash

后用快捷键 ctrl P , ctrl Q 退出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2264269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL基础笔记(三)

在此特别感谢尚硅谷-康师傅的MySQL精品教程 获取更好的阅读体验请前往我的博客主站! 如果本文对你的学习有帮助&#xff0c;请多多点赞、评论、收藏&#xff0c;你们的反馈是我更新最大的动力&#xff01; 创建和管理表 1. 基础知识 1.1 一条数据存储的过程 存储数据是处理数…

使用qemu搭建armv7嵌入式开发环境

目录 目录 1 概述 2 环境准备 2.1 vexpress系列开发板介绍 2.2 安装工具 2.2.1 安装交叉工具链 2.2.2 安装qemu 2.2.3 安装其他工具 3 启动uboot 3.1 uboot下载与编译 3.1.1 下载 3.1.2 编译 3.2 使用qemu启动uboot 4 启动kernel 4.1 下载和编译kernel 4.1.1 下…

数据思维的哲学思考

引言 天地合而万物生&#xff0c;阴阳接而变化起。 《荀子礼论》 数据思维的哲学基础源于唯物主义哲学。在马克思的唯物主义思想中&#xff0c;世界是物质的&#xff0c;物质是运动的&#xff0c;运动是有规律的&#xff0c;规律是客观的。 数据思维的哲学基础就是&#xff…

Dijkstra(迪杰斯特拉)最短路径算法可视化演示

Dijkstra(迪杰斯特拉)算法&#xff0c;是一种解决带权图中单源最短路径的经典算法。它由荷兰计算机科学家 Edsger Dijkstra 于1956年提出。在现实生活中&#xff0c;这个算法被广泛应用于导航系统、网络路由等场景。 比如在地图导航中&#xff0c;城市可以看作图中的节点&…

利用深度纹理实现全局雾效

1、为什么要实现屏幕后处理效果的全局雾效 既然Unity中已经提供了全局雾效&#xff0c;那为什么还要自己来实现呢&#xff1f;主要是因为Unity自带的全局雾效有以下几个缺点&#xff1a; 需要为每个自定义Shader按规则书写雾效处理代码自带的全局雾效无法实现一些自定义效果&…

解决“SVN无法上传或下载*.so、*.a等二进制文件“问题

今天&#xff0c;在使用Subversion提交代码到服务器时&#xff0c;发现无法提交*.a、*.so等二进制文件&#xff0c;右击这些文件&#xff0c;发现其属性为ignores。     问题原因&#xff1a;SVN的配置文件里&#xff0c;屏蔽了*.a、*.so文件的上传与下载&#xff0c;并把这些…

Linux下学 〖MySQL 〗表的属性之约束条件(下)(自增长auto_increament、唯一键unique key、外键foreign key)

绪论​ 每日激励&#xff1a;“不是看到希望才坚持&#xff0c;而是坚持了才有希望。—Jack” 绪论​&#xff1a; 本章是约束的下半篇&#xff0c;它将带你认识到一些在字段中非常常用的约束条件&#xff0c;自增长AUTO_CREMENT、唯一键UNIQUE KEY 和 外键FOREIGN KEY这三个。…

观察者模式(sigslot in C++)

大家&#xff0c;我是东风&#xff0c;今天抽点时间整理一下我很久前关注的一个不错的库&#xff0c;可以支持我们在使用标准C的时候使用信号槽机制进行观察者模式设计&#xff0c;sigslot 官网&#xff1a; http://sigslot.sourceforge.net/ 本文较为详尽探讨了一种观察者模…

内置函数.

日期函数 current_date/time() 日期/时间 获得年月日&#xff1a; 获得时分秒&#xff1a; 获得时间戳&#xff1a;日期时间 now()函数 体会date(datetime)的用法&#xff1a;只显示日期 在日期的基础上加日期&#xff1a;按照日历自动计算 关键字为 intervalinterval 后的数值…

web实验三

web实验三 三四个小时左右吧&#xff0c;做成功了学到新东西了&#xff0c;还是挺有趣的&#xff0c;好玩。还有些功能没做完&#xff0c;暂时这样了&#xff0c;要交了。 html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF…

36. Three.js案例-创建带光照和阴影的球体与平面

36. Three.js案例-创建带光照和阴影的球体与平面 实现效果 知识点 Three.js基础 WebGLRenderer WebGLRenderer 是Three.js中最常用的渲染器&#xff0c;用于将场景渲染到网页上。 构造器 new THREE.WebGLRenderer(parameters)参数类型描述parametersobject可选参数&#…

windows平台小熊猫C++安装fmt库

前言 Windows安装C第三方库有点不容易&#xff0c;使用VS的可能还好点&#xff0c;有vcpkg工具用。使用其他工具的就麻烦了&#xff0c;因为基本上第三方库&#xff0c;都默认你是Linux平台&#xff0c;给的安装方式教程都是清一色Cmake&#xff0c;Windows上没有cmake&#x…

信号处理相关的东东(学习解惑)

信号处理相关的东东&#xff08;学习解惑&#xff09; 所有内容学习自知乎专栏&#xff0c;https://www.zhihu.com/column/xinhao&#xff0c;写的很好&#xff0c;值得反复学习 时频域分析的一些常用概念 FROM&#xff1a;https://zhuanlan.zhihu.com/p/35742606 1、相加性…

pset4filter less: helpers.c

&#xff08;&#xff14;&#xff09;blur function 简单画图熟悉一下要做什么 可以看到3种情况&#xff0c;顶格&#xff0c;边界&#xff0c;里面如果分开算的话&#xff0c;是真的麻烦&#xff1b;但是当时还真的没有想到更好的&#xff0c;就先写一写&#xff08;此处摘取…

3. Kafka入门—安装与基本命令

Kafka基础操作 一. 章节简介二. kafka简介三. Kafka安装1. 准备工作2. Zookeeper安装2.1 配置文件2.2 启动相关命令3. Kafka安装3.1 配置文件3.2 启动相关命令-------------------------------------------------------------------------------------------------------------…

某政银行APP登陆逆向

版本 V10.0.0 环境检测 {"xposed": {"action": "warn_and_exit","msg": {"zh_CN": "检测到您的设备安装有Xposed框架&#xff0c;存在非法攻击风险&#xff01;"},"button": {"zh_CN": &qu…

51c自动驾驶~合集42

我自己的原文哦~ https://blog.51cto.com/whaosoft/12888355 #DriveMM 六大数据集全部SOTA&#xff01;最新DriveMM&#xff1a;自动驾驶一体化多模态大模型&#xff08;美团&中山大学&#xff09; 近年来&#xff0c;视觉-语言数据和模型在自动驾驶领域引起了广泛关注…

算法题(12): 特殊年份

审题&#xff1a; 需要输出特殊年份的个数 思路&#xff1a; 获取数据&#xff1a;用字符串获取&#xff0c;然后全部加到总字符串s上判断 使用for循环对每一个四位数年分进行判断&#xff0c;如果是特殊年份就让负责记录的cou变量 解题&#xff1a; 注意&#xff1a;为什么我们…

RuoYi-Vue 数据权限控制示例nvliz (作业机器版)

目录 需求分析 ​编辑建表 代码编写 service层 Mapper层 测试 修改数据权限 添加数据 需求分析 建表 在若依的数据库中建立设备表&#xff1a;equipment 代码编写 使用代码生成&#xff0c;设备管理信息界面&#xff0c;如下图&#xff1a; 使用RuoYi的代码生成的功…

汽车IVI中控开发入门及进阶(三十八):手机投屏HiCar开发

手机投屏轻松实现手机与汽车的无缝连接,导航、音乐、通话等功能应有尽有,还支持更多第三方应用,让车载互联生活更加丰富多彩。 HiCar在兼容性和开放性上更具优势。 手机投屏可以说是车机的杀手级应用,大大拓宽了车机的可用性范围。其中华为推出的HiCar就是非常好用的一种。…