shell脚本-----快速进入docker容器

简述怎么进入Docker容器镜像内部 ? 本文介绍了4种进入Docker容器的方法:1)docker exec(推荐方式,进入运行中容器);2)docker run(启动新容器并进入);3)docker attach(附加到主进程);4)nsenter(底层命令方式)。重点说明了每种方法的适用场景、关键参数和注意事项,如-it参数开启交互终端、attach需安全退出等。同时提供了常见问题解决方案,包括容器无Shell时的处理方法、文件复制命令以及调试技巧,并强调生产环境应避免直接修改容器,建议通过Dockerfile重建镜像。 阅读详情

工具简介
该工具可以方便用户快速进入docker容器,而且只需要知道container id就可以进入容器。

使用示例

#查看container ID 
#docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES
2e31d92f77d6        39a9f947bebe        "/opt/demo-service/bi"   14 minutes ago      Up 14 minutes       0.0.0.0:21273->21273/tcp   elated_almeida
#进入容器 
#docker-enter 2e31d92f77d6

使用说明
前提条件:服务器需安装docker、nsenter

  1. 把docker-enter.sh脚本放到 /usr/local/bin下
  2. chmod +x docker-enter.sh
    脚本内容:
#!/bin/sh

if [ -e $(dirname "$0")/nsenter ]; then
# with boot2docker, nsenter is not in the PATH but it is in the same folder
NSENTER=$(dirname "$0")/nsenter

else
NSENTER=nsenter

fi

if [ -z "$1" ]; then
echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]"
echo ""
echo "Enters the Docker CONTAINER and executes the specified COMMAND."
echo "If COMMAND is not specified, runs an interactive shell in CONTAINER."
else
PID=$(docker inspect --format "{{.State.Pid}}" "$1")

if [ -z "$PID" ]; then
exit 1

fi
shift

OPTS="--target $PID --mount --uts --ipc --net --pid --"

if [ -z "$1" ]; then
# No command given.
# Use su to clear all host environment variables except for TERM,
# initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH,
# and start a login shell.
"$NSENTER" $OPTS su - root

else
# Use env to clear all host environment variables.
"$NSENTER" $OPTS env --ignore-environment -- "$@"
fi
fi
Open3D:Win10 + VS2017配置Open3D(C++、python) 一、下载源码 地址:https://github.com/intel-isl/Open3D 1.1 克隆源码【笔者的源码路径为D:\Open3D\Open3D】 1.2 切换版本【笔者的版本为0.8.0】 1.3 更新子模块【用于获取第三方库!很重要!】 二、CMake编译 2.1 设置路径 【source code: D:\Open3D\Open3D;build binaries: D:\Open3D】 【笔者设置CMAKE/CMAKE_INSTALL_PREFIX的路径为D:/Open. 阅读详情

相关推荐

保姆级教程:用LoRA微调Chinese-Mistral-7B模型,并一键部署到Ollama(附完整代码)

本文提供了一份详细的LoRA微调Chinese-Mistral-7B模型的保姆级教程,涵盖环境配置、数据预处理、微调实战、模型量化及Ollama部署全流程。通过实战案例和完整代码,帮助开发者快速构建专属中文大模型,适用于医疗、法律等垂直领域。

weixin_30369041的博客 251

shell脚本实现ssh远程登录并进入mysql容器执行建库建表操作

echo "`date '+%Y-%m-%d %H:%M:%S'` masternode已关闭";sleep 300;echo "`date '+%Y-%m-%d %H:%M:%S'` masternode已启动";echo "----------------循环次数: ${i} ---------------"

YASIMIN的博客 593

四自由度机械臂Matlab仿真全流程:从DH参数建模到轨迹规划实战

本文详细介绍了四自由度机械臂在Matlab中的完整仿真流程,从DH参数建模到轨迹规划实战。通过Robotics Toolbox工具,读者可以学习如何构建机械臂模型、验证运动学特性,并实现平滑的轨迹规划。文章还提供了性能优化技巧和常见问题解决方案,帮助开发者高效完成机械臂仿真项目。

weixin_29061041的博客 239

使用shell脚本快速登录容器

实现用shell脚本快速进入docker

weixin_45881896的博客 1507

uboot引导vxworks6.9(T4240) 启动

vxworks内核配置下搜索RAM_LOW_ADRS, 值为0x01000000, 是vxworks下载启动的地址,uboot启动时会用到。vxworks6.9 t4240用的是32地址空间,uboot下用的是64位地址空间,去uboot下修改law物理地址空间为32位。vxworks下flash基地址为 0xff000000, 将vx下的地址修改为0xe0000000,和uboot下地址一致。uboot下flash基地址为0xe000000,vxworks内核配置为build-in 符号表。

珂珂可爱多 3236

基于FPGA的相控阵雷达波束控制系统设计(2)

也就是在计算波控码时0,按2.8125递增,取遍-90

qq_43416206的博客 1812

【Linux】Linux终端执行docker内部shell脚本

但是不是所有的docker容器,容器的状态和服务是绑定的。需要在linux终端去执行docker内部的脚本。因为docker是使用/bin/bash执行命令的,所以对应的脚本的解析器也需要换成/bin/bash的。因为需要将服务器上的所有docker服务定时关闭、定时启动,所以需要写定时任务脚本,完成任务。所以需要使用**-d**参数,让其在后台执行命令。执行完成第一个服务后,第二个服务就不会执行了。-d让容器在后台,以守护进程的方式执行。但我所执行的脚本中,有两个服务,使用。...

桐原因的博客 7701

测试用例设计工具大盘点:总有一款适合你

本文旨在帮助测试工程师、开发人员及团队管理者快速了解主流测试用例设计工具的特点、适用场景和选择逻辑。覆盖工具类型包括传统文档工具、开源管理工具、商业集成平台及新兴AI工具,范围涵盖中小团队到大型企业的不同需求。本文从“测试用例设计的痛点”切入,用生活案例解释核心概念;接着按“工具类型”分类盘点主流工具(附优缺点对比表);再通过“小团队/中大型团队/敏捷团队”等真实场景教你选工具;最后展望AI等未来趋势,帮你“一次学透,终身受用”。

项目管理的博客 1592

linux使用及常用命令总结/shell命令/容器相关命令

1.python 接收命令行参数 import sys sys.argv 返回一个参数列表

我的心曾悲伤7次 785

低代码组件开发——OpenClaw智能助手的组件设计与开发(2026技术版)

OpenClaw智能助手的低代码组件开发平台采用分层架构设计,包含组件定义、注册、配置、渲染和生命周期管理等核心模块。该系统支持UI、功能、数据和集成四种组件类型,强调可重用性、可配置性和可扩展性。组件定义通过TypeScript、React等技术实现组件结构和行为的描述,组件注册中心基于Node.js和MongoDB管理组件版本。该平台通过React、Redux等技术实现组件渲染和状态管理,并提供完整的生命周期管理机制。这种架构设计显著提升了智能助手应用的开发效率和质量。

一键难忘的博客 407

ESP32设备驱动-直流电机与L298N电机驱动器

在本文中,我们将介绍如何使用ESP32通过L298N电机驱动器驱动直流电机。

视觉与物联智能 3597

Shell脚本运行Docker相关命令说明

#1.Shell脚本 key = value 获取value # 查看xxx.ini文件内容 cat xxx.ini # 显示/获取包含指定内容的那一行 | grep node_num ------------------------- 结果:node_num = 3 # awk -F (-F 指定分割符) # 2使用=作为分割符,获取第二个值 # 2分割后结果 [node_num , 3] (注意node_num后面有个一个空格,3前面有一个空格) | awk -F'=' '{print $2}'

CsbLanca 4079

基于YOLOv8的植物生长阶段识别系统设计与实现

本文详细介绍了一个基于YOLOv8深度学习模型的植物生长阶段识别系统,包含完整的数据集构建、模型训练、评估以及基于PyQt5的用户界面开发过程。系统能够自动识别植物在不同生长阶段(如发芽期、生长期、开花期、结果期等)的形态特征,为精准农业和智能种植提供技术支持。文章提供了完整的代码实现,并讨论了模型优化策略和实际应用场景。关键词:植物生长阶段识别、YOLOv8、目标检测、PyQt5、深度学习。

YOLO 467

快马 AI 助力 Docker 容器管理:一键进入容器的智能解决方案

今天我想分享一个基于 Python 和 Shell 脚本实现的 Docker 容器管理工具,它能够帮助我们更高效地管理容器,并且可以直接在快马平台上部署运行。平台的 AI 辅助功能让开发过程变得更加高效,特别是对于 Docker 命令这种需要精准语法的操作,AI 的自动补全和检查功能帮了大忙。最让我惊喜的是,平台的 AI 助手能根据需求自动生成所需的 Docker 命令和 Python 脚本,大大节省了开发时间。对于需要频繁操作 Docker 容器的开发者和运维人员来说,这种即开即用的体验真的很棒。

EmeraldWolf23的博客 1041

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Ubuntu 使用nsenter进入Docker容器

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34097242的博客 251

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

docker exec小脚本

经常要使用docker exec -it containerID bash 进入docker内部进行一些操作,干脆把它写成shell脚本节省时间。 # 查看需要操作的容器id $ docker ps CONTAINER ID IMAGE 9cf7b563f689 ...

dideng8675的博客 283

一个操作阿里云K8S容器的简易命令

每次都是写完成的K8S命令操作,比较繁锁,就写了一个小小的工具(注:要使用该工具,需要先在本地配置好阿里云的K8S配置,并且该工具需要在Linux的环境化使用)简化了操作,操作如下: 完整的Shell脚本如下: #!/bin/bash #功能说明:根据输入的应用名称,直接进入到其对应的K8S Docker容器中 #设备要访问环境的namespace,该值必须配置 namespace="你要操作的的namespace" if [ "$namespace" == "" ]; then ech

冯立彬的博客 998

Docker命令的简化

1、背景 我们在使用Docker的时候,有些命令非常常用,但是其默认的输出非常不理想,命令也过长,因此导致输入命令耗时很长,此时就有必要将常用的命令给简化,本文推荐几个简化后的命令; 2、命令别名 在~/.bashrc文件中加入如下命令: alias docker-img='sudo docker images --format "table {{.Repository}}:{{.Tag}}\t{{.ID}}"' alias docker-ps='sudo docker ps --format "table

chen_2462238234的博客 544

ubuntu 添加自定义命令--进入容器

进入容器的方式有好几种,我常用的如下(trt_second为容器名): sudo docker exec -it trt_second bash 每次都打这么一长串,实属繁琐,所以添加自定义命令代替它。步骤如下: 1 创建shell文件 touch second.sh 2 在second.sh中添加想要替换的命令,如我的: sudo docker exec -it trt_second bash 3 打开bash.bashrc文件 vim /etc/bash.bashrc 在最后一行添加: alia

旺仔小姐的博客 726

Linux下安装Docker教程

1.执行官网的shell脚本安装Docker curl -s https://get.docker.com | sh 2.启动Docker service docker start 然后就启动成功了 docker常用命令如下 docker images//查看所有安装的镜像 docker ps//查看运行的docker镜像 docker exec -it [id] /bin/ba...

欢迎大家关注 573

【Linux】【RK3566】基于Docker环境的立创泰山派内核编译

ubuntudocker 使用这个执行dockerfile创建镜像docker build -t docker_lckfb_linux_sdk_img ./dockerfile 2.3 后续日常使用这个shell脚本快速进入容器内部 go_to_con.sh 四、补充命令合集(未整理版本)(可暂时忽略)

qq_73648789的博客 107

在Linux中用docker安装r-base软件包

本文记录了在Docker环境中部署和使用R语言的过程。首先通过docker pull命令拉取R-base镜像,然后创建并运行名为"rbase"的容器,挂载本地目录到容器中。成功进入容器后,创建了工作目录并启动R环境。最后测试了R语言的基本功能,包括查看帮助文档、向量运算和复数计算等操作,验证了R环境的正常运行。整个过程展示了从镜像拉取到实际使用R语言的完整流程。

l1t的专栏 152

【Docker】Docker的应用场景,Docker 的优点,Ubuntu Docker 安装,使用 Shell 脚本进行安装

【Docker】Docker的应用场景,Docker 的优点,Ubuntu Docker 安装,使用 Shell 脚本进行安装

2201_75366661的博客 6178

使用 Docker 快速复制文件夹到容器并进入容器

通过dockercp和命令,我们可以轻松地将本地文件复制到Docker容器中,并进入容器进行调试或操作。

m0_64407926的博客 1919

配置或部署记录 - Docker容器迁移Shell脚本

上一篇博客写了下Docker容器迁移的记录,如果只迁移几个容器还好,但一旦要备份的容器多了就比较麻烦,所以写了两个简单的Shell脚本完成Docker容器的迁移。有问题请提出,感谢❤ 在Windows上编辑Shell脚本后放到Linux上去运行的时候,如果出现“坏的解释器”这样的错误提示,可能是因为Windos和Linux的换行符不一样导致的。 **解决办法:**在Linux使用vi/vim编辑要运行的.sh文件 执行 :set ff=unix 命令修改文件的内容格式就可以了 1.完成容器备份成镜像和打包(

Bingo冲冲冲 504

进入当前正在运行的 Docker 容器

要进入当前正在运行的 Docker 容器,可以使用。的提示符,表示已成功进入容器。如果容器内有其他用户(如。进入后,你会看到类似。

午夜的行人 1495

Shell 脚本 + cron 定时备份 Docker MySQL

每天凌晨 2:30 备份。脚本需要完成任务:1.备份多个数据库 stu_manage、blog_manage 到 /data/mysql/backup 文件夹。2.备份开始和备份结束给出相应的提示信息,写入到 /data/mysql/log/backup.log 日志文件。3.备份后的文件以备份时间命名,并打包成 .tar.gz 格式,比如 2024-12-29_023004.tar.gz。4.备份完成后,检查是否有 10 天以前备份的数据库文件,如果有就将其删除。

是谢添啊 1247
上一篇: ElasticSearch 调优----陆续更新
下一篇: 记一次ipython在CentOS上使用的坑!
lcm_linux
博客等级 码龄7年 7258粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值