Docker 容器shell
版权所有,未经许可,禁止转载
章节
Docker镜像是一个文件系统,有时需要进入容器内部的shell,例如:查看配置文件的内容。
正在运行的容器,可以通过docker exec命令进入它的shell终端:
docker exec -it <container-id> /bin/bash
-i标志告诉docker保持stdin打开(以便您可以输入命令)。-t标志分配一个伪tty。
举例说明
1. 运行nginx镜像
[root@qikegu docker]# docker run -d nginx
2.查看nginx容器ID
[root@qikegu docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
87c324a31476 nginx "nginx -g 'daemon of…" 54 seconds ago Up 53 seconds 80/tcp trusting_vaughan
3. 进入容器,运行一个bash shell
[root@qikegu docker]# docker exec -it 87c324a31476 /bin/bash
root@87c324a31476:/#
可以看到我们进入了容器中的shell了。
4. 在容器的shell中执行命令
root@87c324a31476:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@87c324a31476:/# ps
bash: ps: command not found
容器中不存在的命令(上面的ps)不能执行
5. 退出shell
直接使用exit命令退出shell,容器自身也将停止运行。
使用ctrl + p + q,可以退出shell,容器仍将继续运行。
docker attach, docker exec, docker run 区别
docker attach- 不是用于在容器中运行额外的东西,而是用于附加到正在运行的进程。如果容器中正在运行的是nginx,会attach到nginx进程,获得nginx的标准输出。docker exec- 专门用于在已经启动的容器中运行新东西,无论是shell还是其他进程docker run- 用于运行新容器,可以指定容器中要运行的命令。如果不指定,运行镜像默认命令,例如:运行nginx容器时,docker run nginx没有指定命令,会运行nginx应用,docker run -it nginx /bin/bash,指定了/bin/bash,会运行此命令。
Docker 容器shell的更多相关文章
- Docker 容器(container)
版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...
- 如何启动一个已经创建的docker 容器,并进入SHELL 对其操作
腾讯云使用自己的docker镜像安装后无法启动,下边这个亲测是可用的 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A ...
- 在宿主机上执行docker容器内部的shell或程序
为了避免反复进入docker容器内部操作,可以将一系列容器内部的指令由宿主机来操作完成. 在宿主机(作者主机为windows7)上执行centos容器(name为centos-1)中/usr目录下的“ ...
- 理解Docker容器的进程管理
摘要: Docker在进程管理上有一些特殊之处,如果不注意这些细节中的魔鬼就会带来一些隐患.另外Docker鼓励"一个容器一个进程(one process per container)&qu ...
- Docker容器概念讲解
Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源. Docker是通过内核虚 ...
- 给一个正在运行的Docker容器动态添加Volume
给一个正在运行的Docker容器动态添加Volume本文转自:http://dockone.io/article/149 [编者的话]之前有人问我Docker容器启动之后还能否再挂载卷,考虑到mnt命 ...
- 通过nsenter连接docker容器
通常连接Docker容器并与其进行交互有四种方法.详情见:https://github.com/berresch/Docker-Enter-Demo,下面摘录nsenter连接的方式. 查看是否安装n ...
- [CoreOS 转载] CoreOS实践指南(七):Docker容器管理服务
转载:http://www.csdn.net/article/2015-02-11/2823925 摘要:当Docker还名不见经传的时候,CoreOS创始人Alex就预见了这个项目的价值,并将其做为 ...
- 如何在Fedora 22上面配置Apache的Docker容器
在这篇文章中,我们将会学习关于Docker的一些知识,如何使用Docker部署Apache httpd服务,并且共享到Docker Hub上面去.首先,我们学习怎样拉取和使用Docker Hub里面的 ...
随机推荐
- Java的clone方法效率问题
在Java中,经常会需要新建一个对象,很多情况下,需要这个新建的对象和现有的某个对象保持属性一致. 那么,就有两种方式来实现这个对象的构造: ①通过新建一个对象,为这个对象的属性根据原有对象的属性来进 ...
- java中将图片上传到配置好的ftp服务器上
测试用例: @Test public void testFtp() throws Exception { //1.连接ftp服务器 FTPClient ftpClient = new FTPClien ...
- c++中比较好用的“黑科技”
切入正题,上黑科技 一.黑科技函数(常用的我就不写了,例如sort函数) 1.next_permutation(a+1,a+1+n) a[1-n]全排列 2.reverse(a+1,a+1+n) 将a ...
- Java导出Excel(项目实战Demo)
Controller 层 /** * 考勤机刷卡明细导出Excel * * @throws Exception */ // @RequiresPermissions("report:Expo ...
- 105、Java中String类之利用indexOf()方法判断子字符串是否存在
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- PHP连数据库生成数据字典
<?php /** * 生成mysql数据字典 */ header("Content-type:text/html;charset=utf-8"); // 配置数据库 $da ...
- MongoDB分片技术原理和高可用集群配置方案
一.Sharding分片技术 1.分片概述 当数据量比较大的时候,我们需要把数分片运行在不同的机器中,以降低CPU.内存和Io的压力,Sharding就是数据库分片技术. MongoDB分片技术类似M ...
- MIT课程
8.02 Physics II (电磁学基础) Introduction to electromagnetism and electrostatics: electric charge, Coulo ...
- ssh与scp
ssh命令用于linux 的远程登录,其默认端口为:22,在工作中常常会修改掉这一默认端口的值. scp命令用于远程的文件相互拷贝. scp远程文件拷贝: [root@jerry a]#ls ...
- swing开发图形界面工具配置(可自由拖控件上去)
swing开发图形界面工具,eclipse swing图形化操作界面工具配置 1.有一个小功能要有一个界面,之前知道有一个 图形化界面的(就是可以往上面拖控件布局的工具)JBuilder,今天上午就下 ...