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.rhkb.cn/news/494234.html

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

相关文章

JAVA:组合模式(Composite Pattern)的技术指南

1、简述 组合模式(Composite Pattern)是一种结构型设计模式,旨在将对象组合成树形结构以表示“部分-整体”的层次结构。它使客户端对单个对象和组合对象的使用具有一致性。 设计模式样例:https://gitee.com/lhdxhl/design-pattern-example.git 2、什么是组合模式 组合模式…

使用FakeSMTP创建本地SMTP服务器接收邮件具体实现。

以下代码来自Let’s Go further节选。具体说明均为作者本人理解。 编辑邮件模版 主要包含三个template: subject&#xff1a;主题plainBody&#xff1a; 纯文本正文htmlBody&#xff1a;超文本语言正文 {{define "subject"}}Welcome to Greenlight!{{end}} {{def…

基于深度学习多图像融合的屏幕缺陷检测方案

公司项目&#xff0c;已申请专利。 深度学习作为新兴技术在图像领域蓬勃发展&#xff0c;因其自主学习图像数据特征的性能避免了人工设计算法的繁琐&#xff0c;精准的检测性能、高效的检测效率以及对各种不同类型的图像任务都有比较好的泛化性能&#xff0c;使得深度学习技术在…

【数据库】Redis—Java 客户端

一、常见的几种 Java 客户端 Jedis&#xff1a;以 Redis 命令作为方法的名称&#xff0c;便于学习&#xff0c;简单实用&#xff0c;但其实例是线程不安全的&#xff0c;多线程下需要基于连接池来使用。lettce&#xff1a;基于 Netty 实现&#xff0c;支持同步、异步和响应式编…

重拾设计模式--观察者模式

文章目录 观察者模式&#xff08;Observer Pattern&#xff09;概述观察者模式UML图作用&#xff1a;实现对象间的解耦支持一对多的依赖关系易于维护和扩展 观察者模式的结构抽象主题&#xff08;Subject&#xff09;&#xff1a;具体主题&#xff08;Concrete Subject&#xf…

贪心算法 part01

class Solution { public:int maxSubArray(vector<int>& nums) {int result INT32_MIN;int count 0;for (int i 0; i < nums.size(); i) {count nums[i];if (count > result) { // 取区间累计的最大值&#xff08;相当于不断确定最大子序终止位置&#xff…

Pytorch | 利用NI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用NI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集NI-FGSM介绍背景算法流程 NI-FGSM代码实现NI-FGSM算法实现攻击效果 代码汇总nifgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器&#xff1a; Pytorch | 从零构建AlexNet对CIFAR10进行…

SAP抓取外部https报错SSL handshake处理方法

一、问题描述 SAP执行报表抓取https第三方数据,数据获取失败。 报错消息: SSL handshake with XXX.COM:449 failed: SSSLERR_SSL_READ (-58)#SAPCRYPTO:SSL_read() failed##SapSSLSessionStartNB()==SSSLERR_SSL_READ# SSL:SSL_read() failed (536875120/0x20001070)# …

AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python

支持向量机是AI开发中最常见的一种算法。之前我们已经一起初步了解了它的概念和应用&#xff0c;今天我们用它来进行一次文本情感分析训练。 一、概念温习 支持向量机&#xff08;SVM&#xff09;是一种监督学习算法&#xff0c;广泛用于分类和回归问题。 它的核心思想是通过…

信奥赛四种算法描述

#include <iostream> #include <iomanip> using namespace std;// 使用unsigned long long类型来尽量容纳较大的结果&#xff0c;不过实际上这个数值极其巨大&#xff0c;可能最终仍会溢出 // 更好的方式可以考虑使用高精度计算库&#xff08;如GMP等&#xff09;来…

Ajax中的axios

既然提到Ajax&#xff0c;那就先来说一说什么是Ajax吧 关于Ajax Ajax的定义 Asynchronous JavaScript And XML&#xff1a;异步的JavaScript和XML。 反正就是一句话总结&#xff1a; 使用XML HttpRequest 对象与服务器进行通讯。 AJAX 是一种在无需重新加载整个网页的情况下&…

vscode 使用说明

文章目录 1、文档2、技巧显示与搜索宏定义和包含头文件 3、插件4、智能编写5、VSCode 与 C&#xff08;1&#xff09;安装&#xff08;2&#xff09;调试&#xff08;a&#xff09;使用 CMake 进行跨平台编译与调试&#xff08;b&#xff09;launch.json&#xff08;c&#xff…

多功能护照阅读器港澳通行证阅读机RS232串口主动输出协议,支持和单片机/Linux对接使用

此护照阅读器支持护照、电子芯片护照、港澳通行证、台湾通行证&#xff0c;和串口的被动的方式不一样。此护照阅读器通电后&#xff0c;自动读卡&#xff0c;串口输出&#xff0c;软件只需要去串口监听数据即可&#xff0c;例如用串口助手就可以收到读卡信息。 非常适用于单片…

petalinux-adi ---移植adi内核(一)

1. 设备树生成 将 前 面 生 成 的 设 备 树 文 件 ( 笔 者 这 里 生 成 的 设 备 树 文 件 在Petalinux 工 程 的components/plnx_workspace/device-tree/device-tree/ 目 录 下 ) pcw.dtsi 、 pl.dtsi 、system-top.dts 以 及 zynq-7000.dtsi 四 个 文 件 直 接 拷 贝 到 内 …

基于MindSpore NLP的PEFT微调

创建notebook 登录控制台 创建notebook 如果出现提示按如下操作 回到列表页面创建notebook参数如下&#xff1a; 配置mindnlp环境 打开GitHub - mindspore-lab/mindnlp: Easy-to-use and high-performance NLP and LLM framework based on MindSpore, compatible with model…

centos-stream9系统安装docker

如果之前安装过docker需要删除之前的。 sudo dnf -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine 安装yum-utils工具&#xff1a; dnf -y install yum-utils dnf-plugin…

Redis存在安全漏洞

Redis是美国Redis公司的一套开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值&#xff08;Key-Value&#xff09;存储数据库&#xff0c;并提供多种语言的API。 Redis存在安全漏洞。攻击者利用该漏洞使用特制的Lua脚本触发堆栈缓冲区溢出漏洞&#xff0c;从…

黑马Java面试教程_P8_并发编程

系列博客目录 文章目录 系列博客目录前言1.线程的基础知识1.1 线程和进程的区别&#xff1f;难2频3面试文稿 1.2 并行和并发有什么区别&#xff1f; 难1频1面试文稿 1.3 创建线程的四种方式 难2频4面试文稿 1.4 runnable 和 callable 有什么区别 难2频3面试文稿 1.5 线程的 run…

ubuntu22.04 nginx配置下载目录,亲测成功

安装nginx ubuntu最简单&#xff0c;apt安装即可 apt install nginx 配置文件 文件都在目录下 /etc/nginx/添加内容 修改/ etc/nginx/sites-available/default &#xff0c; 注意这里不是nginx.conf&#xff0c;直接修改nginx.conf不奏效 location /downloads { …

【从零开始入门unity游戏开发之——C#篇21】C#面向对象的封装——`this`扩展方法、运算符重载、内部类、`partial` 定义分部类

文章目录 一、this扩展方法1、扩展方法的基本语法2、使用扩展方法3、扩展方法的注意事项5、扩展方法的限制6、总结 二、运算符重载1、C# 运算符重载2、运算符重载的基本语法3. 示例&#xff1a;重载加法运算符 ()4、使用重载的运算符5、支持重载的运算符6、不能重载的运算符7、…