一 启动进入容器指定bash 退出后容器关闭

[root@Centos-node3 ~]# docker run -it centos bash
[root@83c6b25aca09 /]#

二 docker attach进入容器后退出 如果容器没有指定bash环境会停留在空白页面 退出后容器也会正常退出(进入容器后其他人进入容器可以看到你输入的信息)

[root@Centos-node3 ~]# docker run -it -d --name mynginx nginx /bin/bash
c23ba383b76baa6c3e1a9450e23e6e4f46724a4e2b8e8c2b8c002e54ba2e5f32
[root@Centos-node3 ~]# docker attach mynginx
root@c23ba383b76b:/# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
root@c23ba383b76b:/# exit
exit
[root@Centos-node3 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

三 docker exec 进入容器 会启用一个bash环境

[root@Centos-node3 ~]# docker run -it -d --name mycentos centos /bin/bash
68e1f711a4990f66ad3456b453591c3fa9a7d22d4fed3e50bda1cf27a36cc60a
[root@Centos-node3 ~]# docker exec -it mycentos bash
[root@68e1f711a499 /]# ps -ef
PID TTY TIME CMD
? :: bash
? :: bash
? :: ps
[root@68e1f711a499 /]# exit
exit
[root@Centos-node3 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68e1f711a499 centos "/bin/bash" About a minute ago Up About a minute mycentos
c23ba383b76b nginx "/bin/bash" minutes ago Up minutes /tcp mynginx

[root@Centos-node3 ~]# docker exec -it mycentos ls
anaconda-post.log dev home lib64 mnt proc run srv tmp var
bin etc lib media opt root sbin sys usr

四 nsenter

yum -y install util-linux                         #安装nsenter命令

[root@Centos-node3 ~]# docker inspect -f "{{ .State.Pid }}" mycentos
30428                                              #查看容器pid

nsenter -t  -m -u -i -n -p
-t:指定PID
–u:参数是进入到uts namespace中
–i:参数是进入到System V IPC namaspace中
–n:参数是进入到network namespace中
–p:参数是进入到pid namespace中

脚本方式进入(可直接传参docker name 或者ID)

[root@Centos-node2 ~]# cat docker_in.sh
#!/bin/bash #Use nsenter to access docker docker_in(){
NAME_ID=$
PID=$(docker inspect -f "{{ .State.Pid }}" $NAME_ID)
nsenter -t $PID -m -u -i -n -p
} docker_in $

docker进入容器的几种方法的更多相关文章

  1. docker进入容器的四种方法

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

  2. Docker 进入容器的4种方法

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

  3. Docker 进入容器的几种方式

    进入Docker容器比较常见的几种做法如下: 使用docker attach 使用SSH 使用nsenter 使用exec 一.使用docker attach进入Docker容器 Docker提供了a ...

  4. [转]docker 部署 mysql + phpmyadmin 3种方法

    本文转自:https://blog.csdn.net/Gekkoou/article/details/80897309 方法1: link # 创建容器 test-mysql (千万别用 mysql: ...

  5. Docker:容器的四种网络类型 [十三]

    一.None类型 简介:不为容器配置任何网络功能,--net=none 1.创建容器 docker run -it --network none busubox:latest 2.功能测试 [root ...

  6. Qt: 访问容器(三种方法,加上for循环就四种了)good

    #include <iostream>#include <QString>#include <QList>#include <QListIterator> ...

  7. 初始化spring容器的几种方法

    package ssh.spring; import java.io.IOException; import org.springframework.beans.factory.BeanFactory ...

  8. docker查看容器的网络ip

    docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id 可直 ...

  9. web项目docker化的两种方法

    标题所讲的两种方法其实就是创建docker镜像的两种方法 第一种:启动镜像后进入容器中操作,将需要的软件或者项目移动到容器中,安装或者部署,然后退出即可 第二种:编写dockerfile,将需要的镜像 ...

随机推荐

  1. 洛谷P2598 [ZJOI2009]狼和羊的故事

    题目描述 “狼爱上羊啊爱的疯狂,谁让他们真爱了一场:狼爱上羊啊并不荒唐,他们说有爱就有方向......” Orez听到这首歌,心想:狼和羊如此和谐,为什么不尝试羊狼合养呢?说干就干! Orez的羊狼圈 ...

  2. 修改mysql 的 字符集 解决中文乱码问题

    确定的是自己mysql的字符集是否都是utf8, 通过mysql -u root -p然后输入数据库的密码登陆. 在mysql命令行查询自己的字符集是否都是utf8(除了文件的编码是binary). ...

  3. PHP 相关配置

    1. php-fpm的pool 编辑"php-fpm"配置文件"php-fpm.con" vim /usr/local/php/etc/php-fpm.conf ...

  4. Maintaining processor resources during architectural events

    In one embodiment of the present invention, a method includes switching between a first address spac ...

  5. 洛谷 P3670 [USACO17OPEN]Bovine Genomics S奶牛基因组(银)

    P3670 [USACO17OPEN]Bovine Genomics S奶牛基因组(银) 题目描述 Farmer John owns NN cows with spots and NN cows wi ...

  6. poj 1087 A Plug for UNIX(字符串编号建图)

    A Plug for UNIX Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14862   Accepted: 5026 ...

  7. 归并排序_分治算法 (白书P226)

    #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int a ...

  8. 深入解析开源项目之Universal-Image-Loader(二)内存---缓存篇

    珍惜作者劳动成果,如需转载,请注明出处. http://blog.csdn.net/zhengzechuan91/article/details/50292871 Universal-Image-Lo ...

  9. 浅析.Net数据操作机制

    举个栗子,获取新闻详情的案例. public ActionResult NewsView(int newsId) { var news = _newsService.GetNewsById(newsI ...

  10. ajax ---- json 和 xml 区别

    2.XML和JSON优缺点 (1).XML的优缺点<1>.XML的优点 A.格式统一,符合标准: B.容易与其他系统进行远程交互,数据共享比较方便.<2>.XML的缺点 A.X ...