docker run 命令参数

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. 运行一个休眠命令:你可以让容器执行一个不会立即结束的命令,比如长时间运行的进程或简单的休眠命令。
Copydocker 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.mzph.cn/diannao/64762.shtml

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

相关文章

生态学研究中,森林生态系统的结构、功能与稳定性是核心研究

在生态学研究中&#xff0c;森林生态系统的结构、功能与稳定性是核心研究内容之一。这些方面不仅关系到森林动态变化和物种多样性&#xff0c;还直接影响森林提供的生态服务功能及其应对环境变化的能力。森林生态系统的结构主要包括物种组成、树种多样性、树木的空间分布与密度…

[python]使用flask-caching缓存数据

简介 Flask-Caching 是 Flask 的一个扩展&#xff0c;为任何 Flask 应用程序添加了对各种后端的缓存支持。它基于 cachelib 运行&#xff0c;并通过统一的 API 支持 werkzeug 的所有原始缓存后端。开发者还可以通过继承 flask_caching.backends.base.BaseCache 类来开发自己的…

测试电脑是否真实多核CPU

测试电脑是否真实多核CPU 在CPU的描述上现在多数看到的是多核心/多内核&#xff0c;看上去就像是多CPU的样子。但核心是有分真实核心和虚拟核心。如果是真实的多核心&#xff0c;多线程是能够并行。如果不是多核心&#xff0c;多线程就只能够并发。 这里就直接采用多线程的应用…

基于UNITY3D的照片墙演示项目技术分享

unity实现超大图片墙演示,由于拥有海量图片&#xff0c;使用了CPU 多线程&#xff0c;unity dots技术&#xff0c;图片组成文字部分&#xff0c;使用了点阵图技术&#xff0c;提取文字像素。 &#xff08;关于点阵介绍&#xff09; 点阵字体是把每一个字符都分成1616或2424个点…

Go 语言并发实战:利用协程处理多个接口进行数据融合

高效地处理多个数据源并将其整合为有意义的结果是开发中一项重要的任务。Go 语言&#xff0c;以其强大的并发特性&#xff0c;为我们提供了优雅而高效的解决方案。那么我们探讨一下如何利用 Go 语言的协程&#xff0c;同时调用多个接口获取数据&#xff0c;并将这些数据无缝地合…

设计模式-访问者设计模式

介绍 访问者模式&#xff08;Visitor&#xff09;&#xff0c;表示一个作用于某对象结构中的各元素的操作&#xff0c;它使你可以在不改变个元素的类的前提下定义作用于这些元素的新操作。 问题&#xff1a;在一个机构里面有两种员工&#xff0c;1.Teacher 2.Engineer 员…

leetcode 面试经典 150 题:合并两个有序数组

链接合并两个有序数组题序号88题型数组解题方法1. 双指针法 &#xff1b;2. 合并排序法难道简单熟练度✅✅✅✅✅ 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 …

ISO/IEC 25010:2023 系统和软件的质量模型(产品质量模型)

本文是对ISO/IEC 25010 2023年底第2版&#xff1a;系统和软件工程-系统和软件质量要求与评估 (SQuaRE)-产品质量模型一文的转载&#xff0c;此外还参考了ISO/IEC 25019:2023(en) Systems and software engineering — Systems and software Quality Requirements and Evaluatio…

【信息系统项目管理师】高分论文:论信息系统项目的成本管理(不动产登记系统)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划成本管理2、估算成本3、制定预算4、控制成本论文 根据XX省自然资源厅的总体部署,XX市决定于2020年8月开始全市不动产登记系统建设,要求在2021年8月1日全市“颁发新证,停发旧证”,实现全市范围的…

【零基础保姆级教程】制作自己的数据集——Labelimg的安装与使用及常见的报错解决方法

1.是什么 LabelImg 是一个图形化的图像标注工具&#xff0c;主要用于机器学习和计算机视觉领域中的数据预处理。它是由 GitHub 用户 tzutalin 开发的开源项目&#xff0c;基于 Python 和 Qt 框架编写。LabelImg 允许用户手动为图像添加边界框&#xff08;bounding boxes&#…

【java基础系列】实现数字的首位交换算法

在java中&#xff0c;手写实现一个数字的首位交换算法实现 实现效果 实现代码 核心业务代码 public static void main(String[] args) {int[] arr {1,2,3,4,5};int temp arr[0];for (int i 0; i < arr.length; i) {System.out.print(arr[i]);}System.out.println(&quo…

Docker 部署机器学习模型

1.编写机器学习代码 &#xff08;1&#xff09;新建一个 mlmodel.py import numpy as np import pandas as pd from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sk…

【java面向对象编程】第七弹----Object类、类变量与类方法

笔上得来终觉浅,绝知此事要躬行 &#x1f525; 个人主页&#xff1a;星云爱编程 &#x1f525; 所属专栏&#xff1a;javase &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 一、Object类 1.1equa…

GO--堆(have TODO)

堆 堆&#xff08;Heap&#xff09;是一种特殊的数据结构。它是一棵完全二叉树&#xff08;完全二叉树是指除了最后一层外&#xff0c;每一层上的节点数都是满的&#xff0c;并且最后一层的节点都集中在左边&#xff09;&#xff0c;结放在数组&#xff08;切片&#xff09;中…

Redis篇--常见问题篇8--缓存一致性3(注解式缓存Spring Cache)

1、概述 Spring Cache是Spring框架提供的一个缓存抽象层&#xff0c;旨在简化应用程序中的缓存管理。通过使用Spring Cache&#xff0c;开发者可以轻松地将缓存机制集成到业务逻辑中&#xff0c;而无需关心具体的缓存实现细节。 Spring Cache支持多种缓存提供者&#xff08;如…

java开发入门学习五-流程控制

流程控制语句 if&#xff0c; if...else&#xff0c; if..else if..else 与前端相同 略 switch case 与前端不同的是case不能使用表达式&#xff0c;使用表达式会报错 class TestSwitch {public static void main(String[] args) {// switch 表达式只能是特定的数据类型…

Vue 前端代码规范

在 Vue 前端开发中&#xff0c;遵循代码规范可以提高代码的可读性、可维护性和团队协作效率。以下是一些详细的 Vue 前端代码规范&#xff0c;涵盖了多个方面&#xff1a; ### 1. **项目结构** - **目录结构**:- src/ 目录下应包含 components/、views/、store/、router/、ass…

豆包MarsCode测评:编程效率再提升

豆包MarsCode测评&#xff1a;编程效率再提升 本文正在参与豆包MarsCode AI 编程体验家活动 随着人工智能技术的发展&#xff0c;编程的方式也在悄然发生变化。最近&#xff0c;豆包推出的 AI 编程工具 MarsCode 在开发者社区引发了不小的关注。这是一款支持多种主流编程语言…

FFmpeg 框架简介和文件解复用

文章目录 ffmpeg框架简介libavformat库libavcodec库libavdevice库 复用&#xff08;muxers&#xff09;和解复用&#xff08;demuxers&#xff09;容器格式FLVScript Tag Data结构&#xff08;脚本类型、帧类型&#xff09;Audio Tag Data结构&#xff08;音频Tag&#xff09;V…

frameworks 之 日志打印

frameworks 之 日志打印 1. 常见日志类型2. 动态日志ProtoLog 讲解 anddroid 日志打印类型。 1. 常见日志类型 android 日志类型分为 6 类 分别为 main,system, radio, events, crash, kernel 查看帮助指令 adb shell logcat --helpmain&#xff1a; 用于存储大多数应用和系统…