进入docker容器的方法

登录容器的方式                        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工具的安装:
           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个参数就可以涵盖网络,磁盘,进程管理操作系统基本的信息,我尝试只使用其中一个或几个参数登录容器,成功了但是操作系统功能使用上受限制,比如无法使用网络配置功能等)。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值