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**
    ---不推荐使用,如果只是想要看一个命令 可以使用

  • 相关阅读:
    Maven 安装配置
    docker 安装 MySQL
    查看CentOS版本方法
    JavaScript定时器的开启关闭
    JavaScript实现延时提示框
    JavaScript获取当前时间
    JavaScript实现数字时钟功能
    JavaScript获取非行间样式
    JavaScript数组的操作
    JavaScript数组和json的区别
  • 原文地址:https://www.cnblogs.com/zhuhuibiao/p/14211990.html
Copyright © 2011-2022 走看看