登录容器的方式                       
ssh登录                                                              
第三方工具(nsenter、nsinit)                                            
docker提供的工具(attach、exec)
优点                    
符合平时登录服务器习惯,不用额外学习
使用方便快捷
使用方便快捷                              
缺点
秘钥管理
ssh升级
监控
需要学习第三方工具使用规则
docker宿主机root权限
使用attach登录容器,exit退出容器
docker宿主机root权限
同屏
适用范围                      
适用docker宿主机登录至容器内部
远程登录该容器
适用docker宿主机登录至容器内部
适用docker宿主机登录至容器内部
  • SSH
    使用方法:ssh用户@IP地址 -p 端口
    一般ssh登录走22端口,但是在docker中bridge网络模式使用NAT做端口映射,端口需要特殊标注
    适用范围:docker宿主机内部登录容器,外部终端直接登录容器 
    优点:符合管理员、开发者登录服务器的习惯,不需要进行额外的学习 
    缺点:1.秘钥管理

    如果将秘钥写到镜像中,当需要更新秘钥时需要重新制作镜像,部署,重启容器,虽然这个步骤繁琐,但是个人认为还是安全的。如果将秘钥写到卷中,首先要保证该容器没有这个卷的写权限,否则存在秘钥被篡改的风险。
    2.ssh 升级或打补丁
    ssh 有漏洞或者版本升级时,需要对每一个容器进行打补丁或者升级操作
  • docker attach
          使用方法 :docker attach  [container name]
          适用范围: docker 宿主机内部登录容器 
          优点: 快捷方便
          缺点 1.exit 后直接退出该container
                     2. 多屏同步 这相当于同一时间最多只能有一个终端连接容器
  • docker exec
    使用方法
    :docker exec -it [container name] [command]
    适用范围:docker宿主机内部登录容器
    优点:快捷方便
    缺点:外部终端无法使用这种方法登录容器
    使用参数介绍
    -i, --interactive               Keep STDIN open even if not attached ————交互 
    -t, --tty                        Allocate a pseudo-TTY————分配伪终端
    一般情况会使用-it这个组合命令,如果单用也只能单独使用-i命令 
    -i 参数不会产生伪终端,但是会有正确的返回
          使用-it时,则和我们平常操作console界面类似。而且也不会像attach方式因为退出,导致整个容器退出。这种方式可以替代ssh或者nsenter、nsinit方式,在容器内进行操作。
  • nsenter工具
nsenter工具的安装:
wget  https://www.kernel.org/pub/linux/utils/util-linux/v2.28/ util-linux-2.28.tar.gz 
           tar -xzvf util-linux-2.28.tar.gz          
           cd util-linux-2.28
./configure --without-ncurses
make nsenter
cp nsenter /usr/local/bin
安装完成后,使用nsenter —help 命令查看,可以看到使用方法及参数则证明安装成功。
使用nsenter 命令登录docker 容器
在使用nsenter登录docker 容器时,一般使用前6个参数(我看别人都这么写的,想了想原因,可能使用前6个参数就可以涵盖网络,磁盘,进程管理操作系统基本的信息,我尝试只使用其中一个或几个参数登录容器,成功了但是操作系统功能使用上受限制,比如无法使用网络配置功能等)。

进入docker容器的方法相关推荐

  1. linux docker run怎么退出,详解如何进入、退出docker容器的方法

    1 启动docker服务 首先需要知道启动docker服务是: service docker start 或者: systemctl start docker 2 关闭docker服务 关闭docke ...

  2. 详解如何进入、退出docker容器的方法

    1 启动docker服务 首先需要知道启动docker服务是: service docker start 或者: systemctl start docker 2 关闭docker服务 关闭docke ...

  3. 固定docker容器IP方法

    docker 默认有4种网络模式,详细可查看我曾经写的 "docker几种网络模式" docker run 新建并启动容器时,不指定网络,默认是使用桥接模式,容器内部IP是通过DH ...

  4. linux docker查找镜像文件,搜索/下载/构建自定义/删除Docker镜像,运行和删除Docker容器的方法...

    本文为你介绍的内容是Docker入门相关的操作方法:搜索Docker镜像.下载Docker镜像.运行Docker容器.构建自定义Docker镜像.删除容器.删除Docker镜像.以下给出的所有步骤均在 ...

  5. Docker容器通过独立IP暴露给局域网的方法

    Docker容器非常轻量,系统开销非常少,比VMware或者VirtualBox用起来方便,部署起来也非常容易.官方推荐我们通过端口映射的方式把Docker容器的服务提供给宿主机或者局域网其他容器使用 ...

  6. 修改docker容器中的文件方法

    修改docker容器配置文件方法 昨天准备修改docker容器中的配置文件,由于是xml配置文件,不需要编译,想着直接编辑一下就ok了,但是进入容器发现竟然没有vi命令,一番查找,可以使用以下方法 1 ...

  7. python代码进去docker容器内_python脚本监控docker容器

    本文实例为大家分享了python脚本监控docker容器的方法,供大家参考,具体内容如下 脚本功能: 1.监控CPU使用率 2.监控内存使用状况 3.监控网络流量 具体代码: #!/usr/bin/e ...

  8. 进入Docker容器的4种方式

    进入Docker容器的4种方式 在使用Docker创建了容器之后,大家比较关心的就是如何进入该容器了,其实进入Docker容器有好几多种方式,这里我们就讲一下常用的几种进入Docker容器的方法. 进 ...

  9. Docker容器进入的4种方式

    Docker容器进入的4种方式 $ sudo docker ps $ sudo docker exec -it 775c7c9ee1e1 /bin/bash 在使用Docker创建了容器之后,大家比较 ...

最新文章

  1. Effective Java实作toString() - 就是爱Java
  2. 微信公众号新功能-原创声明、赞赏功能、评论管理、页面模版
  3. elasticsearch-php使用scroll深度分页处理数据(附代码)
  4. mysql解释的type_mysql explain 的type解释
  5. 数据流小说带点h_H.264数据流格式
  6. shell脚本实现无密码交互的SSH自动登陆
  7. 活久见啊,WPF工资已经这么高了!
  8. 阅读构建之法10、11、12章
  9. html div怎么设置圆角,jquery设置div圆角
  10. 【OpenCV新手教程之十四】OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑
  11. JAVA运行环境设置
  12. 繁体中文游戏乱码解决工具
  13. android手机远程控制电脑源代码,手把手教你用安卓手机实现远程控制电脑-网络教程与技术 -亦是美网络...
  14. 4000亿农夫山泉的生意经
  15. sun.net.ftp.FtpClient 中文API
  16. java 字符串像素_如何在JavaFX中计算字符串的像素宽度?
  17. 狂神Javascript笔记
  18. log4j2 概述、配置详情、日志八种输出级别讲解
  19. linux中环境变量及环境变量配置文件详解
  20. 【微信小程序】把客服按钮替换成自己想要的图片

热门文章

  1. ThinkPHP 导入的几种方法
  2. 正则匹配里面的(.*?)
  3. Cairngorm开发框架
  4. 用ZXING生成二维码的工具类(可以去掉白边,添加logo)
  5. C#效验身份证号是否正确
  6. linux proftpd mysql_虚拟主机与Proftpd和MySQL(包括配额)在Ubuntu 14.04LTS
  7. 计算机英语说明文,英语说明文
  8. unity模型制作规范
  9. Android调用相机拍照高清原图(兼容7.0)
  10. 【机器学习 深度学习】通俗讲解集成学习算法