• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > Docker如何进入启动容器

Docker如何进入启动容器

作者:AdaFanmm 字体:[增加 减小] 来源:互联网

本文主要包含docker,进入运行容器, docker,运行容器等服务器相关知识,AdaFanmm 希望可以进行参考

本文介绍了Docker如何进入启动容器,分享给大家,具体如下:

在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息,也无法进行操作。

这个时候如果需要进入容器进行操作,有多种方法,包括使用官方的attach或exec命令,以及第三方的nsenter工具等。

1、attach命令

attach命令是Docker自带的命令,命令格式为:

docker attach [–detach-keys[=[]]] [–no-stdin] [–sig-proxy[=true]] Container

支持三个主要选项:

·–detach-keys[=[]]:指定退出attach模式的快捷键序列,默认是CTRL-p CTRL-q;

·–no-stdin=true|false:是否关闭标准输入,默认是保持打开;

·–sig-proxy=true|false:是否代理收到的系统信号给应用进程,默认为true。

但是,使用attach命令有时候并不方便。当多个窗口同时使用attach命令连到同一个容器的时候,所有窗口都会同步显示。当某个窗口因命令阻塞时,其他窗口也无法执行操作了。

2、exec命令

Docker从1.3.0版本起提供了一个更加方便的exec命令,可以在容器内直接执行任意命令。该命令的基本格式为:

docker exec [-d|–detach] [–detach-keys[=[]]] [-i|–interactive] [–privileged] [-t|–tty] [-u|–user[=USER]] CONTAINER COMMAND [ARG…]。

比较重要的参数有:

·-i,–interactive=true|false:打开标准输入接受用户输入命令,默认为false;

·–privileged=true|false:是否给执行命令以高权限,默认为false;

·-t,–tty=true|false:分配伪终端,默认为false;

·-u,–user=”“:执行命令的用户名或ID。

例如进入到刚创建的容器中,并启动一个bash:

可以看到,一个bash终端打开了,在不影响容器内其他应用的前提下,用户可以很容易与容器进行交互。
通过指定-it参数来保持标准输入打开,并且分配一个伪终端。通过exec命令对容器执行操作是最为推荐的方式。

3、nsenter 工具

在util-Linux软件包版本2.23+中包含nsenter工具。如果系统中的util-linux包没有该命令,可以按照下面的方法从源码安装:

$ cd /tmp; curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf-; cd util-linux-2.24;
$ ./configure --without-ncurses
$ make nsenter && cp nsenter /usr/local/bin

为了使用nsenter连接到容器,还需要找到容器进程的PID,可以通过下面的命令获取:

PID=$(docker inspect --format "{{ .State.Pid }}" )

通过这个PID,就可以连接到这个容器:

$ nsenter --target $PID --mount --uts --ipc --net --pid

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:

  • Docker 给运行中的容器设置端口映射的方法
  • Docker 限制容器对内存的使用详解
  • 关于Docker容器内部无法解析域名问题的解决
  • docker 容器上编译 go 程序提示找不到文件问题
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Docker实践8:Compose,docker实践compose
  • Docker buildx构建多平台镜像并推送到私有仓库的方法
  • Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
  • 什么是Docker?为什么要使用Docker
  • docker 开源的应用容器引擎
  • 如何给docker设置http代理
  • docker官方mysql镜像自定义配置详解
  • 详解Docker数据管理(数据卷&数据卷容器)
  • 如何利用Docker容器实现代理转发与数据备份详解
  • 详解Docker Swarm 在持续集成测试中的应用

相关文章

  • VMWare12 下Ubuntu虚拟机没法通过长按方向键连续移动光标的解决办法
  • Virtualbox安装配置方法图文教程
  • myeclipse中建web项目上传文件到hadoop,出现文件上传上去了,但是文件大小为0或小于当前文件解决方案,
  • docker 开源的应用容器引擎
  • 详解Docker中VLAN网络模式的配置
  • 初次使用Docker的体验笔记总结
  • Docker 端口映射详细介绍
  • Docker如何多步构建生成dubbo-admin镜像详解
  • Docker容器使用jenkins部署web项目(总结)
  • Docker 教程之私有仓库详解

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • VirtualBox安装Archlinux并配置桌面环境
    • 如何利用Docker容器实现代理转发与数据备份详解
    • docker run起来之后执行多条命令
    • 公共云的2012:宕机事件频发 也玩价格战
    • 使用VMware10安装Ubuntu 14步骤图文详解
    • CloudStack SSVM启动条件源码阅读与问题解决方法
    • 详解将本地docker容器迁移到服务端
    • 虚拟化之VMware Workstation 10.0.x安装教程(图文)
    • Docker MQTT安装使用教程
    • Docker安装(Ubuntu 64bit)的方法步骤

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有