Docker守护式容器
1.什么是守护式容器
- 能够长期运行
- 没有交互式会话
- 适合运行应用程序和服务
2.以守护形式运行容器
运行交互式容器时以Ctrl+P Ctrl+Q 来退出容器,此时容器还在后台继续运行,我们可以通过docker attach [name] 来重新进入容器
[root@aliyun ~]# docker start -i cjj01
root@4f38551cf3cf:/# // Ctrl+P Ctrl+Q 退出
[root@aliyun ~]#
[root@aliyun ~]# docker ps // 可以查看正在运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4f38551cf3cf ubuntu "/bin/bash" minutes ago Up seconds cjj01
[root@aliyun ~]# docker attach cjj01
root@4f38551cf3cf:/#
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。

3.使用run命令启动守护式容器
[root@aliyun ~]# docker run --name cjj02 -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
74fb89116dac4410bd268c92a3c2a9507430c49f3e61795142cad9ffed565837
[root@aliyun ~]# docker logs cjj02 // 查看容器内的标准输出
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
[root@aliyun ~]#
在输出中,我们没有看到期望的"hello world",而是一串长字符
74fb89116dac4410bd268c92a3c2a9507430c49f3e61795142cad9ffed565837
这个长字符串叫做容器ID,对每个容器来说都是唯一的,我们可以通过容器ID来查看对应的容器发生了什么。
首先,我们需要确认容器有在运行,可以通过 docker ps 来查看
[root@aliyun ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74fb89116dac ubuntu "/bin/sh -c 'while..." minutes ago Up minutes cjj02
CONTAINER ID:容器ID
NAMES:自动分配的容器名称
4.停止容器
docker stop [容器名]
docker kill [容器名]
[root@aliyun ~]# docker stop cjj02
cjj02
5.查看运行中容器的进程
[root@aliyun ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74fb89116dac ubuntu "/bin/sh -c 'while..." minutes ago Up seconds cjj02
[root@aliyun ~]# docker top cjj02
UID PID PPID C STIME TTY TIME CMD
root : ? :: /bin/sh -c while true; do echo hello world; sleep ; done
root : ? :: sleep
[root@aliyun ~]#
6.在运行中的容器中启动新的进程
exec 命令
[root@aliyun ~]# docker top cjj02
UID PID PPID C STIME TTY TIME CMD
root : ? :: /bin/sh -c while true; do echo hello world; sleep ; done
root : ? :: sleep
[root@aliyun ~]# docker exec -i -t cjj02 /bin/bash
root@74fb89116dac:/# // Ctrl+P Ctrl+Q 退出
[root@aliyun ~]# docker top cjj02
UID PID PPID C STIME TTY TIME CMD
root 9045 9028 0 17:38 ? 00:00:00 /bin/sh -c while true; do echo hello world; sleep 1; done
root 13786 13768 0 18:56 pts/1 00:00:00 /bin/bash
root 13867 9045 0 18:57 ? 00:00:00 sleep 1
Docker守护式容器的更多相关文章
- docker守护式容器运行管理
docker守护式容器适合运行应用程序和服务 以交互方式进入容器 docker run -it centos /bin/bash 以交互方式进入 并设置镜像名称和运行后的主机名称 退出交互式容器并让 ...
- Docker守护式容器的创建和登录
创建守护式容器 如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器(后台运行的容器). 创建(-d)并运行(-i)守护式容器命令如下(容器名称不能重复): docker run -id - ...
- Docker 学习基本操作与守护式容器
Docker 学习基本操作与守护式容器 容器操作 运行容器 docker run --name指定名字 -istdin -ttty虚拟终端 在终端中用 exit 即可退出容器,并结束运行 查看容器 p ...
- Docker启动守护式容器
目录 启动守护式容器 查看容器日志 docker后台运行 查看容器内运行的进程 查看容器内部细节 进入正在运行的容器并以命令行交互 重新进入 上述两个区别 从容器内拷贝文件到主机上 启动守护式容器 ...
- Docker学习(4) 守护式容器
守护式容器 stop - 等待信号 kill - 直接干死
- Docker镜像和容器
本节内容: 安装Docker 卸载docker 镜像基本操作 容器基本操作 一.安装Docker Docker 对 Linux 内核版本的最低要求是3.10,如果内核版本低于 3.10 会缺少一些运行 ...
- docker入门——管理容器
除了交互式的容器(interactive container),我们也可以创建长期运行的容器.守护式容器(daemonized container)没有交互式会话,非常适合运行应用程序和服务.大多数时 ...
- Docker容器化【Docker镜像与容器相关命令】
# Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...
- docker 入门2 - 容器 【翻译】
入门,第 2 部分:容器 先决条件 安装的 Docker 版本是 1.13 及以上. 读完 第一部分 用下面的命令快速测试你的环境是否完备: docker run hello-world 概述 现在开 ...
随机推荐
- Cookie 跨域 和 SSO
cookie是不能跨域访问的,但是在二级域名是可以共享cookie cookie的四个可选属性: 1. cookie的生存期属性:expires; 默认情况下,cookie只在浏览器会话期存在.退出浏 ...
- qt 静态库中貌似不能使用静态属性
今天一个问题搞的很郁闷,原本好好的工程,这两天加了几个类之后链接不通过了. 发现过程略去不说,最后去掉了类中的static属性,编译通过了.具体原因没时间仔细查了,反正尽量避免在静态链接库里使用sta ...
- 项目Beta冲刺(团队)--5/7
课程名称:软件工程1916|W(福州大学) 作业要求:项目Beta冲刺 团队名称:葫芦娃队 作业目标:进行新一轮的项目冲刺,尽力完成并完善项目 团队博客 队员学号 队员昵称 博客地址 04160242 ...
- egg 连接 mysql 的 docker 容器,报错:Client does not support authentication protocol requested by server; consider upgrading MySQL client
egg 连接 mysql 的 docker 容器,报错:Client does not support authentication protocol requested by server; con ...
- Ubuntu只读文件系统修复方法
首先备份重要数据 fsck.ext4 -p /dev/sdb5 reboot
- 高性能MySQL(一)——索引
一.mysql索引分类 单值索引:一个索引只包含单个列,一个表可以有多个单列索引 唯一索引:索引列的值必须唯一,但允许有空值 复合索引:一个索引包含多个列 基本语法: 创建:1.CREATE [UNI ...
- SpringBoot简便地打成一个war包
正常情况下SpringBoot项目是以jar包的形式,通过命令行: java -jar demo.jar 来运行的,并且SpringBoot是内嵌Tomcat服务器,所以每次重新启动都是用的新的Tom ...
- async 珠峰培训node正式课笔记 【async】任务流程控制,异步流程控制
var async = require('async'); // series 串形任务 console.time('cost') async.series({ two:function(callba ...
- Bounding Box回归
简介 Bounding Box非常重要,在rcnn, fast rcnn, faster rcnn, yolo, r-fcn, ssd,到今年cvpr最新的yolo9000都会用到. 先看图 对于上图 ...
- kuma 学习一 minikube 安装
官方文档提供了比较全的环境安装说明 我使用的系统是mac,同时使用minikube 运行 安装kumactl 下载地址: https://kong.bintray.com/kuma/kuma-0.1. ...