Docker中进入容器命令行及后台运行
Docker中我们一般会有两种执行命令的方式,一种是直接进入容器的命令行,在终端执行并查看结果,一种是在后台执行,并不会在终端查看结果。
1、进入容器命令行
su root
docker run -i -t ubuntu:16.04 /bin/bash
#或者执行下面这句
docker run -it ubuntu:16.04 /bin/bash
-i和-t的作用是帮助你进入交互模式,如果不加这部分,你将无法进入容器内部,更别说使用命令行了。/bin/bash的意思就是使用容器的命令行来输入命令。执行结果如下:
root@7d150a0fb029:/#
root后面跟的就是容器id,表明你已经进入容器,可以输入命令了,你可以输入一些常用命令试试:
root@7d150a0fb029:/# docker run -i -t ubuntu:16.04 /bin/bash
结果输出了镜像的内核版本信息:
Linux version 4.13.0-36-generic (buildd@lgw01-amd64-033) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)) #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018
通过exit可退出容器。
2、后台执行命令
输入下面的代码,-d表示的就是后台运行,这点可以直接通过docker run --help查看该命令的功能。下面这句话的意思就是在镜像的程序中添加引号内的代码,并在后台运行。
docker run -d ubuntu:16.04 /bin/sh -c "while true; do echo hello world; sleep 1;done"
输出结果不会显示运行的结果,而是给出新建的容器id,这里说明一下,每次输入docker run命令都会新建一个容器,产生一个新的id。
输出结果如下:
c7188be9bd7b5c0aa91c5eeb72013996c89bfdc2181d1a5ff7f880af6f8aff99
查看一下正在运行的容器:
root@cdl-XPS15R:/home/cdl# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c7188be9bd7b ubuntu:16.04 "/bin/sh -c 'while t…" seconds ago Up seconds keen_vaughan
1b6ba17f7df7 ubuntu:16.04 "/bin/bash" minutes ago Exited () minutes ago cocky_noether
7d150a0fb029 ubuntu:16.04 "/bin/bash" minutes ago Exited () minutes ago hopeful_banach
这里我们会发现,第一个容器的id和后台运行的容器id前几位一模一样,但是长度要长很多,其实是一样的,只不过通过ps命令打印输出时为了方便显示只显示了前几位。
如果我们想要进入后台运行的容器的命令行而不创建新的容器,只需要输入以下命令:
#exec是进入已经存在的容器,run是创建新容器
docker exec -it c7188be9bd7b /bin/bash
你输入那个更长的id也是一样的效果:
docker exec -it c7188be9bd7b5c0aa91c5eeb72013996c89bfdc2181d1a5ff7f880af6f8aff99 /bin/bash
输出结果都是:
root@c7188be9bd7b:/#
Docker中进入容器命令行及后台运行的更多相关文章
- Docker镜像与容器命令(转)
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...
- Docker学习总结(4)——Docker镜像与容器命令
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...
- Docker镜像与容器命令 专题
https://yeasy.gitbooks.io/docker_practice/content/install/mirror.html docker的工作流程图: 至少需要配备三样东西去使用doc ...
- Docker笔记--操作容器命令
Docker笔记--操作容器命令 创建容器 docker [container] create-- 创建容器,使用docker [container] create命令新建的容器处于停止状态,可以使用 ...
- QT中QProcess调用命令行的痛苦经历(调用Winrar,设置工作目录,获得输出,注意引号与括号,等等)
QT中QProcess调用命令行的痛苦经历 阅读目录 创建压缩包的方法 在QT中调用命令行 在QT中调用C++创建的dll 在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在Q ...
- Vim中常用的命令行
Vim中常用的命令行... ------------------- 一些真正强大的武器总不是那么容易驾驭的,主角总得付出一些努力才能收获到更加强大的力量,对于 Vim 这种上古神器来说更是如此.由于它 ...
- npm中本地安装命令行类型的模块是不注册Path的
http://www.jianshu.com/p/c04dea6e46de 首先有必要解释下什么是命令行(Command Line)类型的模块.npm的模块一共分为三类: 绑定型(Binding):本 ...
- Ruby(或cmd中)输入命令行编译sass
Ruby(或cmd中)输入命令行编译sass步骤如下: 举例: 1.在F盘中新建一个总文件夹,比如test文件夹,其中在该文件夹下面建立html.images.js.sass等文件夹. 2.在sass ...
- 1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间; 2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和; 3)系统CPU时间(system CPU time): 命令执行完成花费的系统CPU时
1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间: 2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时 ...
随机推荐
- 如何使用TG Pro for Mac的自定义控制功能完全覆盖系统
在某些情况下,可能需要完全覆盖系统风扇控制并使用自定义算法.通过将Auto Boost规则的强大功能与覆盖系统功能相结合,可以使用TG Pro.请记住,当风扇模式设置为Auto Boost时,这将完全 ...
- 【译】如何使用docker-compose安装anchore
如何使用docker-compose安装anchore,本篇译自Install with Docker Compose. Preface 在本节中,您将学习如何启动和运行独立的Anchore引擎安装, ...
- 精通awk系列(4):awk用法入门
回到: Linux系列文章 Shell系列文章 Awk系列文章 awk用法入门 awk 'awk_program' a.txt awk示例: # 输出a.txt中的每一行 awk '{print $0 ...
- asp.net MVC 在Controller控制器中实现验证码输出
asp.net mvc项目使用到验证码,为了让以前的WebForm代码能利用上代码经过稍微的改动即可使用代码如下: using System; using System.Collections.Gen ...
- jQuery实现下拉框默认选中
<form class="form-inline" method="post" action="/score_result/"> ...
- Elasticsearch各版本的MSI安装包和Kibana各版本的zip包(Windows)
elastic各产品下载列表页:https://www.elastic.co/cn/downloads/ 打开Elasticsearch的下载页后看到的是当前最新版本的安装界面,现在最新的版本是7.4 ...
- 前端面试题套路--终极版(Vue、JavaScript)
前言 面试题是永远都准备不完的!!!!! 前端常见的一些问题 1.前端性能优化手段? 1. 尽可能使用雪碧图 2. 使用字体图标代替图片 3. 对HTML,css,js 文件进行压缩 4. 模块按需加 ...
- C lang:Array_Multidimensional arrays
#include<stdio.h> #include<windows.h> #define YEARS 5 #define MONTHS 12 void color(short ...
- 十二、ITK例程-医疗图像配准的HelloWorld程序
一.说明 医疗图像配准是ITK的一个重要内容,而我们今天想要说的一个程序则相当于是其中的HelloWorld程序. 程序源码位置: InsightToolkit-\Examples\Registrat ...
- [C]表达式结合规律和运算符优先级
表达式结合规律 如果运算符具有相同的优先级(precedence)有些表达式的结合方式是从左往右,有些则是从右往左结合的(例如赋值运算符): 表达式 结合律 组合方式 a/b%c 从左往右 (a/b) ...