如何进入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
如何进入docker容器

然后使用nsenter

** nsenter -p (pid) **

** 使用 **

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

如图所示
如何进入docker容器

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

示例:

脚本

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