那些在后台运行的新建的容器,通常不是我们想要的,我们要进行一些修改,比如安装服务,创建用户,查看日志,调整网络等等,这些操做都要进入容器去进行修改,今天我们来讨论如何进入容器。

1.docker attach

通过docker attach可以进入一个正在运行的容器

首先通过docker run -d创建一个容器

通过容器的长ID进入容器,可以看到echo每秒打印的内容

利用docker run -it创建一个容器

通过docker attach进入容器,也可以看到每秒打印的内容

已经进入容器了,那我们如何退出容器呢?

做了一些试验发现:通过docker run -d方式运行的容器是没办法通过ctrl+c或者是ctrl+d来退出的,百度上还有一种方法是ctrl+p+q这种办法也不能退出,无奈之下,我只能结束这个终端,重新打开一个。。。。。。。。。。

但是通过docker run -it运行的容器就方便了,可以通过ctrl+p+q这种方法保存并退出,ctrl+c和ctrl+d都无法退出,是什么情况????

原因是:-it是以交互式的方式进入或者打开容器的,可以输入命令;而docker run -d没有交互式,所以没办法输入

2.进入容器还有一种方法docker exec

使用docker exec进入相同的容器

-it:以交互式的模式打开一个终端,

bash:执行bash

就是打开了一个bash的终端

如何退出:可以使用ctrl+p+q也可以使用ctrl+d,但是ctrl+c不能退出

docker exec -it <container> bash是执行exec最常用的方式

attach和exec的区别

1.attach直接进入容器启动的终端,不会启动新的进程;

2.exec可以在容器中打开新的终端,也可以启动新的进程;

3.如果想查看容器启动时的命令可以用attach,其他的全部使用exec;

centos7下安装docker(8.2进入容器)的更多相关文章

  1. centos7下安装docker(12.3容器之间的连通性)

    我们接着盗图,如下: 在这张图上,可以看到,如果两个容器使用同一个bridge,那么两个容器之间是互相能通的 可以看到两个容器在同一个bridge下是可以互相ping通的 当两个容器在不同的bridg ...

  2. centos7下安装docker(8.3容器的常用操作)

    yu我们之前已经学习了如何运行容器docker run,也学习了如何进入容器docker attach和docker exec,下面我们来学习容器的其他操作: stop/start/restart 1 ...

  3. centos7下安装docker(15.7容器跨主机网络---calico)

    Calico是一个纯三层的虚拟网络方案,Calico为每个容器分配一个IP,每个host都是router,把不同host的容器连接起来.与vxlan不同的是:calico不对数据包进行封装,不需要NA ...

  4. centos7下安装docker(15.5容器跨主机网络--flanneld)

    flannel是由CoreOS研究的一种覆盖网络(overlay network)网络工具,目的是帮助每一个host主机有一个完整的子网: 功能是:让集群中不同节点的主机创建的容器都有一个唯一的虚拟I ...

  5. centos7下安装docker(13.4容器volume总结)

    最近我们学习了docker 存储,首先docker存储有两种:storage driver和data volume. storage driver是由镜像层和容器层组成的,可以通过docker ins ...

  6. centos7下安装docker(13.2容器数据共享)

    回想一下我们学了两种存储方式:storage driver和data volume,其中又分为bind mount和docker managed volume,我们知道storage driver就是 ...

  7. centos7下安装docker(12.5容器在单个host上的网络总结)

    单个host上的容器的网络:通过本章的学习,我们知道docker默认有三种网络,可以通过docker network ls查看: none:封闭的网络,通过--network=none来指定: hos ...

  8. centos7下安装docker(12.4容器如何与外部进行通信)

    1.容器如何访问外部 前面我们做了很多试验:只要host能连外网,使用默认bridge(docker0)创建得容器就能访问外网,那么容器是怎样访问外网的呢? 注:这里的外网不仅是internet,包括 ...

  9. centos7下安装docker(9.3容器对资源的使用限制-Block IO))

    Block IO:指的是磁盘的读写,docker 可以通过设置权重,限制bps和iops的方式控制容器读写磁盘的带宽 注:目前block IO限额只对direct IO(不使用文件缓存)有效. 1.B ...

  10. centos7下安装docker(9.1容器对资源的使用限制-CPU)

    默认情况下,所有容器可以平等的使用host上的CPU资源并没有限制 1.docker可以通过-c或者--cpu-shares设置容器使用的权重.如果不指定,默认值为1024. 与内存的限额不同,通过- ...

随机推荐

  1. MySQL实验准备(二)--Python模拟数据(MySQL数据库)

    Python模拟数据(MySQL数据库) 数据模拟 目的:模拟多个表的插入和查询数据的模拟,再通过基准测试脚本测试服务器性能和收集数据,仿真模拟. 备注: 如果需要基础的python环境,可以查看&l ...

  2. angular 禁止缓存

    angular 单页面开发,会存在和管理很多HTML和JS文件,缓存有时是个麻烦. 在开发和测试阶段,F12调出调试工具,禁止缓存F5刷新下就好了. 但是在客户那里缓存就体验效果不好,甚至认为有问题, ...

  3. 10.C++-构造函数初始化列表、类const成员、对象构造顺序、析构函数

    首先回忆下,以前学的const 单独使用const修饰变量时,是定义的常量,比如:const int i=1; 使用volatile const修饰变量时,定义的是只读变量 使用const & ...

  4. Mongodb的基本语法

    前段时间工作上面由于没有多少事所以玩了玩mongodb,学习了它的基本语法,然后现在在这里做一个简单的总结. 1.我是在win平台上面,启动的话比较麻烦,所以我就简单的把启动过程做了个批处理文件 启动 ...

  5. 【协议】4、http状态码

    10.4 客户错误 4xx 状态代码4xx类是专门使用在客户看上去错误的情形下的.除非当应答一个HEAD请求时,服务器因该有一个包括错误情形的解释的实体,以及它是否一个临时或者终了的条件.这些状态编码 ...

  6. Java开发中json使用,各对象与json相互转换

    Json:一种网络通信使用的数据格式,因为便于解析,比较流行,对象可以转为json,同样json也可以转对象. 下面介绍下Json工具的简单使用(fastjson && jackson ...

  7. 利用批处理文件删除系统托盘上的图标(适用于Windows各个版本)

    对于我这种强迫症患者来说,如果我已经删除了一些软件,但是系统托盘里面还有它,我会很难受.所以,没办法,必须想办法把它清除掉,还自己一片安宁!!!不知各位是否遇到过和我一样的问题,下面贴一段批处理文件的 ...

  8. css引入页面的三种方法

    1.内联式:直接在标签上写样式 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  9. 2018-01-19 Xtext试用: 5步实现一个(中文)JVM语言

    续上文Xtext试用: 快速实现简单领域专用语言(DSL). 基于官方教程: Five simple steps to your JVM language 达成如下语言: 它被Quan6JvmMode ...

  10. 使用fiddle处理跨域

    认真的用fiddle处理跨域 相信很多前端的同学都或多或少被跨域这个问题烦恼过,网上很多处理的方式其实都是要后端处理, 用fiddle来处理 ,就不必看后端的脸色了,自己安安心心的倒腾接口,何乐而不为 ...