Docker 使用nsenter工具进入容器的操作
在使用Docker容器的时候,利用nsenter工具会比较方便,如果我们的系统没有的话,那就需要我们自己来安装了
1.首先访问该网址找到最新版本的nsenter工具
2.然后下载nsenter工具的源码到我们的主机上
输入命令:
# wget https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/util-linux-2.32.tar.gz
3.解压.tar.gz包
# tar -xzvf util-linux-2.32.tar.gz
4.进入util-linux-2.32的目录
# cd util-linux-2.32/
5.输入./configure --without-ncurses命令
6.输入命令make nsenter,编译nsenter
7.复制nsenter到/usr/local/bin路径下
# cp nsenter /usr/local/bin
8.查看nsenter的使用
# nsenter --help
9.为了连接到容器,我们还需要找到容器的第一个进程的PID,可以通过下面的命令获取
格式:
PID=$(docker inspect --format "{{ .State.Pid}}" <container id>)
通过得到的这个PID,就可以连接到这个容器:
格式:
nsenter --target $PID --mount --uts --ipc --net --pid
10.获取容器第一个进程的PID
输入命令# docker ps查看正在运行的容器
输入命令查看容器
c74e0f07a914的进程的PID# docker inspect -f {{.State.Pid}} c74e0f07a914
10.拿到该进程的PID后进入该容器
输入命令
# nsenter --target 21140 --mount --uts --ipc --net --pid
成功进入该容器,21140就是容器c74e0f07a914的进程PID
以上这篇Docker 使用nsenter工具进入容器的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
docker 在容器外执行某个容器内的某个命令操作
有时候我们想执行某个容器的某条命令,但又不想进入容器内.那该怎么办? 于是脚本可以这样写 #!/bin/bash DOCKER_ID=62f3f40ab240 sudo docker exec -it $DOCKER_ID /bin/bash -c 'cd /packages/detectron && python tools/train.py' done 补充知识:解决docker容器与宿主机无缝调用shell命令问题 我就废话不多说了,大家看解决方法吧~ nsenter -t 1 -m
-
docker文件存放路径, 获取容器启动命令操作
容器早已创建好,如何得知它的启动参数(数据挂载到哪) #假设通过如下命令启动了一个容器 docker run -d --name mysql\ -p 3306:3306\ -e MYSQL_ROOT_PASSWORD=123456\ --restart=always\ mysql:5.5 --character-set-server=utf8 #如何通过容器名得知启动参数 [root@jenkins ~]# docker inspect mysql_cdh [ { "Id": &quo
-
Docker数据卷容器创建及使用方法解析
数据卷容器是一个专门用来挂载数据卷的容器,该容器主要是供其他容器引用和使用.所谓的数据卷容器,实际上就是一个普通的容器,举例如下: 创建数据卷容器 使用如下方式创建数据卷容器: docker run -itd -v /usr/share/nginx/html/ --name mydata ubuntu 命令执行效果如下图: 引用容器 使用如下命令引用数据卷容器: docker run -itd --volumes-from mydata -p 80:80 --name nginx1 nginx
-
Docker使用Portainer搭建可视化界面的方法
Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台操作.Swarm集群和服务等集中管理和操作.登录用户管理和控制等功能.功能十分全面,基本能满足中小型单位对容器管理的全部需求. 下载Portainer镜像 # 查询当前有哪些Portainer镜像 docker search portainer 上图就是查询出来的有下载量的portainer镜像,我
-
Docker 使用nsenter工具进入容器的操作
在使用Docker容器的时候,利用nsenter工具会比较方便,如果我们的系统没有的话,那就需要我们自己来安装了 1.首先访问该网址找到最新版本的nsenter工具 2.然后下载nsenter工具的源码到我们的主机上 输入命令: # wget https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/util-linux-2.32.tar.gz 3.解压.tar.gz包 # tar -xzvf util-linux-2.32
-
docker批量启动关闭所有容器的操作
docker中 启动所有的容器命令 docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) docker中 关闭所有的容器命令 docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2) 补充:shell批量启动和删除docker容器,基于docker toolbox 停止容器 stop.sh #!/bin/bash containerIDs="8f78b7e6995
-
Docker绑定固定IP/跨主机容器互访操作
前言 之前使用pipework 分配静态ip是暂时的,重启之后就会失效,并且使用pipework绑定的ip 物理机,虚拟机,docker容器的ip都在同一网段,这在生产环境是很困难的,下面使用docker自带的network实现固定ip分配,并且重启不会消失. 环境介绍 服务器IP 容器分配网段 启动容器的ID 192.168.1.105 172.172.0.0/24 172.172.0.10 192.168.1.106 172.172.1.0/24 172.172.1.10 绑定步骤 先操作1
-
Docker 配置阿里云容器服务操作
配置阿里云Docker容器服务 登录 阿里云镜像服务控制台 首先要有一个自己的阿里云账号 1.点击名称空间,建议用自己名字/公司名字 比如叫 aliyun-stg 创建完成名字空间 2.点击镜像仓库,创建镜像,填写细信息 仓库可以使用Redis mysql 等名字进行管理 创建仓库 3.观察创建好后的信息 registry.cn-beijing.aliyuncs.com/aliyun-stg/flask 阿里docker域名 registry.cn-beijing.aliyuncs.com 我自
-
Docker 数据卷及数据容器详细介绍及示例
Docker 数据卷及数据容器 这两天开始学习docker,发现docker确实很强大,让网站部署和维护的效率大大提高.遂准备将手头维护的几个小站,全部docker化.整理的过程中感觉到,docker可以以功能或者进程为单位进行部署和维护,不用再花时间在繁琐的配置上面,但是docker和宿主之间的数据共享以及docker间的数据共享仍然是让人头疼和操心的地方. 几个基本概念: docker: 一种容器管理技术,这里也指既有的开发工具链. container: 容器 image: 镜像 volum
-
Docker实践之python应用容器化
一.前言 容器使用沙箱机制,互相隔离,优势在于让各个部署在容器的里的应用互不影响,独立运行,提供更高的安全性.本文主要介绍python应用(django)跑在docker容器里,编写dockerfile实现镜像构建自动化以及docker神器compose. 二.编写Dockerfile文件 官网下载的python镜像比较精简,web应用相关依赖还是需要自己安装的.编写Dockerfile,可以让你构建镜像的时候自动化.实例如下: FROM python:3.6.4 RUN mkdir /code
-
Docker.v19安装和配置Docker Compose编排工具的方法
一.Compose简介 Compose是用于定义和运行多容器Docker应用程序的工具.通过Compose,可以使用YAML文件来配置应用程序的服务.然后,使用一个命令,就可以从配置中创建并启动所有服务. Docker-Compose是一个容器编排工具.通过一个.yml或.yaml文件,将所有的容器的部署方法.文件映射.容器端口映射等情况写在一个配置文件里,执行docker-compose up命令就像执行脚本一样,一个一个的安装并部署容器. YAML文件基本语法: 大小写敏感: 使用缩进表示层
-
Docker Gitlab+Jenkins+Harbor构建持久化平台操作
CI/CD概述 CI工作流程设计 Git 代码版本管理系统 只能命令行去管理git Gitlab 基于git做了图形管理页面,企业使用gitlab做私有的代码管理仓库 Github 公共代码管理仓库 搭建gitlab 搭建gitlab先创建工作目录,因为有些数据需要持久化 [root@www ~]# mkdir -p /gitlab [root@www ~]# cd /gitlab/ docker run -d \ --name gitlab \ -p 8443:443 \ -p 9999:80
-
Docker 无法停止或删除容器服务问题的解决方案
前言 今天有开发同学给我反馈说有一个容器服务无法 stop.rm(docker rm -f)和 kill 等操作,也就是说这个容器服务无法终止- 操作步骤 (1)执行删除命令无法删除docker的目录: # ll /var/lib/docker/containers | grep caf8ef20f3c1 # cd /var/lib/docker/containers # rm -rf caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef28
随机推荐
- Delphi XE5 为Android应用制作签名的方法(图文)
- java操作mysql入门代码实例(含插入、更新和查询)
- jQuery带箭头提示框tooltips插件集锦
- 基于vue+ bootstrap实现图片上传图片展示功能
- Python实现公历(阳历)转农历(阴历)的方法示例
- 在Python中使用PIL模块对图片进行高斯模糊处理的教程
- javascript基础知识大集锦(二) 推荐收藏
- 基于Mysql的Sequence实现方法
- css font缩写总结附实例
- 浅谈Java中各种修饰符与访问修饰符的说明
- javascript客户端解决方案 缓存提供程序
- Windows Powershell 环境变量
- ruby的程序结构介绍
- js字符串完全替换函数分享
- xflash第一次升级,xfml功能被强化
- 基于Java的正则表达式
- Android PickerView滚动选择器的使用方法
- 详解Spring整合Ehcache管理缓存
- Ubuntu18.04安装Pycharm教程的实现
- PHP实现文字写入图片功能