docker daemon run /bin/bash discussion

Ollama本地构建Qwen2.5-Coder-32B:GGUF格式与Modelfile部署实战 大语言模型本地部署的核心在于格式兼容性与环境可控性。GGUF作为llama.cpp原生支持的轻量级二进制模型格式,具备零依赖加载、细粒度量化控制和跨平台硬件亲和力等优势;而Ollama的Modelfile机制则将模型配置升维为可版本管理的代码,实现参数、模板、停止符等行为的确定性封装。该组合特别适用于国内网络受限场景下的离线部署、企业级审计合规、CI/CD集成及ComfyUI/LM Studio等工具链对接。本文以Qwen2.5-Coder-32B为例,详解从GGUF获取、Modelfile编写、ollam 阅读详情
0

请教各位达人一个关于docker的问题哈。我想在docker run的时候,用-d参数运行/bin/bash,然后让这个bash一直跑着,我要用的时候就docker attach上去。但是我一跑docker run -d .... /bin/bash,这个容器就运行结束停下来了。这是为毛啊,有啥解决方案没。。。

5个回答

0
采纳

我自己也遇到这个问题。不过不同的时,我希望docker run的时候,可以让容器一直在后台运行,并允许我远程登陆进去操作。

我把文章拷贝过来了:ssh远程登陆一个容器

----内容开始-----

启动了一个容器之后,我们可能需要用ssh登陆进去进行一些操作。为达到此目的,有2点需要保证:

  • 容器必须处于运行状态。
  • openssh-server处于启动状态。
注意:以下示例是在ubuntu/13.10中完成的

首先确保镜像安装有openssh-server服务

# 官方镜像一般没有安装ssh服务端,so,需要安装一个
apt-get install openssh-server
# 设置一个初始密码
passwd 123
...

然后,提交镜像:

docker commit CONTAINER_ID NAME/VERSION

最后,运行镜像,并让生成的容器一直在后台运行:

# 第一个-d表示让容器在后台运行
# 末尾的-D表示启动ssh的daemon模式,不然容器启动后立刻就变为停止状态了
docker run -d NAME/VERSION /etc/init.d/ssh start -D

现在,便可以ssh登陆容器了。

# 查询容器IP
docker inspect CONTAINER_ID | grep IP

# 登入
ssh root@IP
# 输入密码 123完成登陆
# 为保证安全,请即刻用passwd修改密码
1

docker run指定的命令如果不是那些一直挂起的命令(比如运行top,不断echo),就是会自动退出的。-d命令是设置detach为true,根据官方的文档,意思是让这个命令在后台运行,但并不是一直运行(我们在一个正常的Linux Terminal中运行/bin/bash,运行完了也就完了,不会一直挂着等待响应的,所以确实没办法用daemon方式来跑/bin/bash)。

这个地方官方早期和现在的文档也确实有些前后不一致,现在是detach,早期的文档说指定-d以daemon方式来运行容器,可能存在一定的误解。

另外,如果你需要跑容器里的bash,直接运行docker run -i -t CONTAINER_NAME /bin/bash 就可以了,如果觉得参数比docker attach多,可以设置一个别名(alias)来解决:

alias dockerbash='docker run -i -t CONTAINER_ID /bin/bash'

设置好别名后,直接运行dockerbash就可以进入容器的bash了。

0

用supervisor就可以实现。而且可以同时启动多个服务。
先yum -y install supervisor 安装软件包,修改配置文件/etc/supervisord.conf
增加自己要启动的服务,如sshd 。

具体的话,可以参考这个文章:http://openstack.blog.163.com/blog/static/236387267201491734019283/

0

docker run --attach=stdin -d image bash,-d参数默认关闭了stdin。

0

建议在构建镜像的Dockerfile文件中加一句:
CMD tail -f
如果还有其他命令
CMD 其他命令 && tail -f
希望对你有所帮助

终端里的开发者:Claude Code国产模型接入全指南 终端AI编码助手是面向开发者的一类轻量级、上下文感知的智能编程工具,其核心原理在于进程内嵌运行、实时捕获终端状态(如PWD、命令历史、文件内容)并动态生成可执行建议。技术价值体现在显著降低上下文切换成本与信息检索延迟,提升调试、命令生成和错误诊断效率。典型应用场景包括VSCode集成终端补全、Git提交信息自动生成、Dockerfile优化及日志实时诊断。本文聚焦Claude Code与国产大模型(如DeepSeek-V4-Pro、Qwen3.5)的深度适配,覆盖协议翻译层构建、system prompt渲 阅读详情

相关推荐

Docker学习笔记(3)之dockerfile编写

文章目录1 案例2 综合命令详解2.1 FROM2.2 MAINTAINER: 维护者信息2.3 ENV:设置环境变量2.4 RUN:构建镜像时执行的命令,一个文件中可以包含多个RUN命令2.5 ADD 和 COPY2.6 EXPOSE:指定暴露镜像的端口供主机做映射2.7 CMD:构建容器后调用,也就是在容器启动时才进行调用,存在多个CMD时只有最后一个生效,也支持exec语法。2.8 WORKDIR:指定工作目录,类似于cd命令,之后的命令都是基于此工作目录2.9 VOLUME:添加卷,用于指定持久化目

u_hcy2000的博客 1659

Docker run最后加/bin/bash遇到的问题

问题展示 1.使用docker run -dit (容器ID/容器名+一些参数)/bin/bash 后台启动es镜像 [root@iZ2zegnzd0af38r6v96pcfZ test]# docker run -dit -p 9200:9200 -p 9300:9300 -e ES_JAVA_POTS="-Xms256m -Xmx256m" --name estest4 25476914cc66 /bin/bash ca2d6cc2b66c549e14385a6facedca5801c5f277b

qq_43906881的博客 1万+

半桥LLC谐振变换器及同步整流MATLAB仿真(一)

LLC工作原理详细解析,工作过程详细拆解

qq_55203246的博客 3万+

docker run -it centos /bin/bash 后面的 bin/bash的作用

首先,docker run -it centos 的意思是,为centos这个镜像创建一个容器 -it就等于 -i和-t,这两个参数的作用是,为该docker创建一个伪终端,这样就可以进入到容器的交互模式?(也就是直接进入到容器里面) 后面的/bin/bash的作用是表示载入容器后运行bash,docke...

persistence勿忘初心 2万+

基于奥比中光Orbbec Astra Pro与ROS实现实时3D环境建模:orb_slam2实战指南

本文提供了一份详细的实战指南,介绍如何使用奥比中光Orbbec Astra Pro深度摄像头与ROS系统,部署并运行ORB-SLAM2算法,实现实时3D环境建模与定位。内容涵盖从驱动安装、环境配置、算法编译到摄像头标定与性能调优的全流程,旨在帮助开发者快速搭建一套高性价比的视觉SLAM系统。

weixin_29054399的博客 334

【Docker 基础教程】Docker命令运行原理及一些简单的操作命令

本篇就着重说一下Docker的基本操作指令,基本操作包括Docker服务的启动与关闭,容器的启动与关闭以及检测容器的状态、容器内数据的持久化。明白了这些基础操作才可以进行下一步的复杂操作。层层递进。...

一个非常Cool的人 1454

AI Agent开发第82课-手把手教你把paddleocr-vl做成mcp使其在DIFY里运行

本文详解如何将国产顶尖多模态 OCR 模型 PaddleOCR-VL 封装为标准 MCP(Model Calling Protocol)服务,并通过自研的 HTTP-based MCP Client 接入 Dify 1.10,实现 AI Agent 在对话中自动识别并调用 OCR 能力。该方案已在某头部保险公司真实业务流程中落地,使用了当前最先进的“Agentic AI 原生”设计思想。

打造全国最全的AI Agent开发知识领域的博客 1625

Docker入门之-容器(一)

容器的基本操作:运行容器 一、运行容器 docker run是启动容器的方法,在前面学习Dockerfile 时已经知道,可以通过CMD 、ENDPOINT 指令和docker run命令指定容器启动时执行的命令; 如下所示:容器启动时执行pwd,返回的/是容器中的当前目录 执行docker ps或docker container ls可以查看 Docker hos...

wuyundong123的博客 1263

(第14天)Veritas NetBackup(NBU) 配合 RMAN 脚本备份 Oracle 数据库

NBU(Veritas Netbackup)是企业中比较常用的备份软件,通常用于备份企业使用中的系统,数据库,文件等等,通常是搭配 Oracle RMAN 来进行备份 Oracle 数据库。

LuciferLiu_DBA 1642

Python爬虫实战:如何爬取汽车之家报价信息

本文通过实战介绍了如何使用Python编写爬虫,抓取汽车之家网站的车型、价格、配置等信息。在爬虫实现过程中,我们使用了requests库来发送HTTP请求,使用解析HTML页面,提取嵌入的JSON数据,并将数据存储到CSV文件中。同时,我们还介绍了如何使用反爬虫策略(如随机User-Agent、请求延时、代理池等)来规避反爬虫机制,确保爬虫的稳定性。

2201_76125261的博客 1594

【Docker】docker run 命令详解

Docker运行命令是在Docker中启动容器的主要方式之一。它是Docker CLI(命令行界面)中的基本命令之一,用于启动容器。Docker运行命令使得创建、部署和管理Docker容器变得容易。在启动容器时,使用不同的选项可以实现多种功能,如指定容器网络、挂载卷和映射端口等。使用Docker运行命令是Docker容器的基础,学会它是成为一名优秀Docker开发者的必经之路。

一起加油吧 2万+

基于 MATLAB 的精馏塔模拟仿真

基于 MATLAB 的精馏塔模拟仿真精馏塔是一种重要的化工设备,其中乙烯精馏塔和醋酸乙烯精馏塔是常见的两种精馏塔。本文基于 MATLAB 软件,给出了针对这两种精馏塔的模拟仿真代码。

与其临渊羡鱼,不如退而结网 903

docker容器使用/bin/bash命令

问题描述 本地运行命令和docker运行命令的解释器不同,在本地已经是/bin/bash,但是docker中仍然是/bin/sh,需要修改docker中/bin/sh为/bin/bash 解决方案 1、首先看docker容器的详细信息。输入“docker container ls |grep xxxx”,看其中的命令部分,如果是“/bin/sh”说明使用的不一定是bash,可能是dash解释器。 使用命令ls -l /bin/sh,如果显示的是/bin/sh -> dash,说明用的是dash 2、

码间烟火录的博客,持续分享后端研发领域技术超干货! 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

docker学习

docker学习-基础 docker 分为镜像层和容器层,镜像层都是只读的,上层就是容器层是可写的,提交镜像就是提交某容器 docker安装 #卸载老版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \

limy的博客 1039

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

docker run 最后一个参数/bin/bash和/usr/sbin/init有什么区别?(/usr/sbin/init 启动容器之后可以使用systemctl方法)

后面的/bin/bash的作用是表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启动后就会马上kill itself,这个/bin/bash就表示启动容器后启动bash。-it就等于 -i和-t,这两个参数的作用是,为该docker创建一个伪终端,这样就可以进入到容器的交互模式?参考文章:docker run -it centos /bin/bash 后面的 bin/bash的作用。/usr/sbin/init:初始容器里的CENTOS,用于启动dbus-daemon。

tianyi520jx的博客 2095

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Docker命令中/bin/bash的作用

当你在Docker容器中使用docker exec -it <container_id> /bin/bash命令时,它会在指定的容器中启动一个新的Bash shell。这样你就可以在容器内部执行命令、查看文件、修改配置等操作,就像在本地操作系统中一样。在Docker中,/bin/bash是一个常用的命令,它的作用是启动一个交互式的Bash shell。使用/bin/bash命令可以方便地进入容器内部进行调试、查看日志、修改配置文件等操作。同时,它也是学习和理解Docker容器内部结构和运行机制的重要工具。

u010803910的博客 3103

linux:docker /bin/bash作用

参考:

Cloud Flower的博客-专注unity 1394

Docker run 命令

原文:Docker run 命令 docker run :创建一个新的容器并运行一个命令 语法 docker run [OPTIONS] IMAGE [COMMAND] [ARG…] OPTIONS说明: -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项; -d: 后台运行容器,并返回容器ID; -i: 以交互模式运行容器,通常与 -t 同时使用; ...

sunmingyang1987的博客 372

docker容器命令

docker容器命令 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] docker run -it ubuntu /bin/bash docker run -it centos /bin/bash docker ps [OPTIONS] 等等

weixin_47472270的博客 2756

Docker 操作指南之运行命令篇

文章目录docker run-a--add-host--blkio-weight磁盘IO配额控制示例容器空间大小限制--cidfile=--cpu-shares--cpu-period, --cpu-quota--cpuset-cpus, --cpuset-mems-d, --detach--device=--disable-content-trust--dns--dns-opt--dns-search-e, --env--entrypoint示例一示例二--expose--group-add-h, --h

7DGroup,让技术更有价值! 2425

docker第一个ubuntu测试/bin/bash:感觉自己是个傻子一样

docker attach 容器名/容器id 进入容器,与exec不同的是退出容器会导致容器停止,这不是我们想要的,所以一般不推荐使用这个命令。(当run创建之后就可以进行启动停止容器了,这里启动停止并不会进入容器,所以一般启动成功后还得进入容器才能用命令操作容器)docker start/stop/restart 容器名/容器id 启动/停止/重启容器。进入容器(run是创建容器,所以一般得有镜像,即以某个镜像创建容器,exec是必须存在且正在运行)

viviliving的专栏 1394

Dockerfile中各指令含义与使用方法及区别

今天如约给各位小伙伴带来Dockerfile中各指令含义与使用方法及区别,废话不多说,直接上干货!! 每条命令下方的文字为命令的解释注释!! FROM 指定基础镜像,dockerfile中第一条也必须是第一条命令,同一个Dockerfile中有多个镜像时,可以指定多个FROM MAINTAINER 此dockerfile的维护者 RUN 两种格式,RUN command或...

weixin_41762839的博客 931

Docker run 参数彻底搞懂:-it、 /bin/bash、-d 一次讲透

摘要: 本文深入解析Docker容器运行时的常见参数(-it、/bin/bash、-d)及其使用场景。核心观点是容器的生命周期取决于其前台主进程:进程存在则容器运行,进程结束则容器退出。-it用于交互式操作(组合-i和-t),/bin/bash指定bash为前台进程以保持容器活跃,而-d实现后台运行不占用终端。场景示例:基础镜像(如CentOS)需-it /bin/bash保持交互;服务镜像(如Nginx)应使用-d确保后台常驻。正确理解这些参数能避免容器意外退出或终端占用问题。

LinuxSRE、k8s、运维、DBA、大数据 958

docker命令中的/bin/bash

docker run -i -t tomcat /bin/bash 中的/bin/bash的作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动bash。

wp133716的博客 1万+
上一篇: nodejs redis commands
下一篇: Docker - Brief intro
screaming
博客等级 码龄19年 60粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值