zoukankan      html  css  js  c++  java
  • 如何进入docker容器

    ** docker run [可以加参数必须在镜像前] 镜像名称 /bin/bash "执行的命令"**

    ** 建议运行一个容器使用 --name 使用名称 **

    ** 因为管理容器的时候只有name 和 ID 是比较方便的而且是唯一标识 **

    ** docker run --name mydocker -t -i(标准输入) 镜像name /bin/bash "[可以是命令]"**

    ---不建议使用这种方式,退出后容器就停止了

    方式一

    ** 内置命令 attach **

    ** 起来后怎么进去 bin/bash (进不去)一个容器干一件事,这是docker的设计理念**

    ** docker attach mydocker 可以实现进入容器**

    -----此方法不太稳妥不建议

    方式二

    ** 使用 nsenter **

    首先需要安装工具

    这里以centos7为例下载 util-linux

    yum install -y util-linux

    这种方法是根据pid来进入容器

    ** 需要知道第一个进行的pid **

    ** 获取pid方式 固定格式**

    docker inspect -f "{{.State.Pid}}" mydocker或者ID

    然后使用nsenter

    ** nsenter -p (pid) **

    ** 使用 **

    nsenter -t pid号 -m -u -i -n -p

    如图所示

    这样一步一步操作有点麻烦我们可以写一个脚本进行调用

    示例:

    脚本

     #!/bin/bash
     docker_in(){
    	name_ID=$1
    	PID=$(docker inspect -f "{{.State.Pid}}" $1)
    	nsenter -t $PID -m -u -i -n -p
     }
     docker_in $1
    

    然后就以是使用

    docker_in 跟上容器name或者ID

    ----强烈建议使用该方式,适用于生产环境

    方式三
    docker exec mydocker whoami

    只为了看看命令

    ** docker exec -it mydocker /bin/bash**
    ---不推荐使用,如果只是想要看一个命令 可以使用

  • 相关阅读:
    成功故事--甩手的故事 《转》
    从李小龙的一句话看程序员是否应该多学几种编程语言
    Windows编程中各种操作文件的方法《转载》
    MFC 属性表单的创建
    MFC 七种数据交换方式--对话框
    如何下载小众电影
    阿里2015前端笔试题
    jquery 20行代码实现简单轮播效果
    CSS定位与浮动
    盒子模型
  • 原文地址:https://www.cnblogs.com/zhuhuibiao/p/14211990.html
Copyright © 2011-2022 走看看