docker(3)容器管理命令
接着上一篇,今天说一下Docker 有关容器的常用命令。算是比较详细了吧。
docker run 命令:
注:此命令作用是使用一个镜像运行启动一个容器。 在启动运行的时候 会检查docker 中是否包含了该镜像 如果没有包含 ,docker 会自动的在 docker 的仓库中下载你想使用的镜像。也就是说有时候咱们可以省略:Doker pull 命令。
Docker run 命令常用的参数
1:--name 【镜像名】 :
--name 给启动的容器 起一个名字,如果不使用 –name docker的守护进程会自动给你的容器命名,这里建议使用此参数,docker进程起的名太难记了
2:-d
如果想启动一个在后台运行的容器的时候执行以下命令:可以启动一个容器并且后台运行 可以创建一个守护式容器。

可以对比一下名字
3:-t docker 会 分配一个伪终端并绑定到容器的标准输入上,
4:-i则让容器的标准输入保持打开,使用的时候可以两个结合为
5:– it 上面两个的结合
演示一下使用不使用 – it 作用:
Docker run – name centos centos /bin/bash
Docker run – name centos -it centos /bin/bash

注:一个运行后直接闪退了,并且不会保持与运行,加上-it 后运行我们会直接进入容器中,但是会在退出容器后停止容器。
有关docker run 的参数就先说这几个,在后续文会继续增加。
查看容器命令
1:Docker ps 查看运行中的容器

我们可以看到 容器的ID,名称,运行时间 端口等信息
2:Docker ps -a 查看所有运行中的和为运行的

3:Docker ps -l 可以查看你最后一个运行的容器

容器的删除命令
1:Docker rm
删除 ID/名称 为某某的容器 (未运行的)
2:Docker rm `docker ps -a -q`
批量删除未运行的容器
3:Docker rm -f
强制删除运行中的容器
4:Docker rm -f `docker ps -a -q`
批量强制删除运行中的容器
删除就不演示了,但是后面的两个坚决不推荐使用(就怕删错了谨慎为上)
容器的启动/停止命令:
1:停止命令
Docker stop
Docker kill
这两个都可以停止容器
区别:
stop 发送一个命令等待容器停止: 有等待时间
Kill 直接停止容器:没等待时间
2:启动命令
Docker start ID/名称 启动一个未运行(已停止)的容器
Docker start -i ID/名称 以交互的方式启动容器(直接会进入容器)
这个就不演示了,在使用-I 的时候不是每次都会成功的会卡住。这点注意了
容器的退出命令
1:exit
2:ctrl+d 退出和exit 效果一样。
3:ctrl+p ctrl+q 这种组合的退出方式只适用与交互式容器
以上三个命令是在容器中使用的

正确的进入容器
1:Docker attach ID/名称 注:退出后会停止容器
可以进入一个正在运行的容器中。需要注意的是 Docker attach 这个命令是由缺陷的,很早就有了,有时候我们想进入一个容器中的时候 卡住了,但不是没次都会卡主有时候会有时候不会
比如:运行一个consul镜像
docker run -d -P --name consul docker.io/consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -client=0.0.0.0 -datacenter=dc1
查看结果:确保容器运行中
进入容器结果:

卡在这了不会动了,取消之后还会 停止正在运行的容器尴尬不。
2:启动时进入容器。 在docker run 已经使用 注:退出后会停止容器

3:第三种是生产的时候推荐使用的 (退出后容器不会登出)
我们使用PID进入容器查看容器的PID 两种方法
docker inspect -f {{.State.Pid}} nginx
docker top nginx
结果:

进入容器:使用nsenter 我的centos 自带此命令,没有的可以安装一下。
nsenter --target 10692 --uts --ipc --net --pid

推出容器: Ctrl +d
查看容器的运行状态:docker ps

退出后容器不会登出,这种方式生产建议使用:
查看容器的日志
docker logs id/名称
Logs 选项大致分为三个:
-t 显示容器的日志信息
-f 显示容器的日志信息并带上时间
--tail 数字参数 显示容器的所有日志信息
比如:我们运行一个centos 的容器 并循环输出 hello word
如下图:

查看日志:docker logs contos2 或者 ocker logs -f contos2 手残centos


使用命令:docker logs -t contos2 或者 docker logs -ft contos2

使用命令:docker logs --tail 3 contos2 或者 docker logs -t --tail 3 contos2

注:以上命令只是示范可随意组合使用:
在容器中启动新的进程
注:docker 理念一个容器运行一个进程,但是保不齐我们需要对该容器 维护监控等操作。
新创建一个容器:

查看容器的进程数量

新建并查看进程:
docker exec -it -d centos4 /bin/bash

这里显示了新的进程信息。
下一篇记录一下 docker 的网络。
有不足之处 希望大家指出相互学习,
本文原创:转载请注明出处 谢谢!
docker(3)容器管理命令的更多相关文章
- docker之镜像管理命令
一.docker image 镜像管理命令 指令 描述ls 列出本机镜像build 构建镜像来自Dockerfilehistory 查看镜像历史inspect 显示一个或多个镜像详细信息pull 从镜 ...
- rabbitMQ安装docker版 /权限管理命令
1.进入docker hub镜像仓库地址:https://hub.docker.com/ 2.搜素rabbitMQ 查询镜像,可以看到多种类型,选择带有web页面的(managment) 3.拉取镜像 ...
- Docker 1.13 管理命令
1.12 CLI 的问题 Docker1.12 命令行接口(CLI)有40多个顶级命令,这些命令存在以下问题: 没有归类组织,这让docker 新手很难学习: 有些命令没有提供足够的上下文环境,以至于 ...
- docker之容器管理
一.docker常用的创建命令 [root@node03 ~]# docker create --help [root@node03 ~]# docker run --help OPTIONS说明: ...
- DOCKER学习_002:Docker的容器管理
一 Docker的基本信息 前面已经安装了Docker,现在看一下已安装Docker的安装环境以及其他信息 1.1 系统环境 [root@docker-server3 ~]# uname -r -.e ...
- docker 清理容器的命令
执行以下命令会彻底清除所有容器. docker rm -f $(docker ps -qa) rm -rf /var/lib/etcd /var/lib/cni /var/run/calico rm ...
- docker 让容器执行命令 与 进入容器交互
直接执行命令docker exec mynginx cat /etc/nginx/nginx.conf 进入容器交互docker exec -it 80nginx /bin/bash
- docker入门-镜像管理命令篇
一.下载.上传镜像 1:下载安装centos镜像 语法:docker [参数][镜像名称] [root@host1 ~]# docker pull centos Using default tag ...
- Docker清除容器镜像命令:
# ~/.bash_aliases # Kill all running containers. alias dockerkillall='docker kill $(docker ps -q)' # ...
随机推荐
- iOS 支付(含支付宝、银联、微信)
资料 支付宝 //文档idk都包含了安卓.iOS版 银 联 银联官网资料 Demo Demo给了一个订单号,做测试使用,若出现支付失败什么的,可能是已经被别人给支付了,或者是服务器订单过期了 ~ 一. ...
- 关于Python元祖,列表,字典,集合的比较
定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'], ...
- 关于EffictiveC++笔记
我根据自己的理解,对原文的精华部分进行了提炼,并在一些难以理解的地方加上了自己的"可能比较准确"的「翻译」.
- 线性表概述及单链表的Java实现
一.线性表概述 线性表是指一组数据元素之间具有线性关系的元素序列,它表现为:除第一个元素没有直接前驱元素.最后一个元素没有直接后继元素外,其余所有元素都有且仅有一个直接前驱元素和直接后继元素. 根据存 ...
- vue防止按钮在短时间内被多次点击的方法
vue组件 (function(){ let openDelay=false; Vue.directive('intervalclick', function(el,binding){ el.oncl ...
- #Java学习之路——基础阶段二(第九篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- .NET Core IdentityServer4实战-开篇介绍与规划
一.开篇寄语 由于假期的无聊,我决定了一个非常有挑战性的活动,也就是在年假给大家带来一个基于OAuth 2.0的身份授权框架,它就是 IdentityServer4 ,如果没有意外的话,一定可以顺利的 ...
- 泛微关于js设计的一些小技巧
1.关于泛微流程的js设计 泛微oa可以插入javascript可以diy自己想要的表单页面前端功能.如果有前端开发经验,或者熟练使用jQuery的话,这将变得非常容易!同时泛微OA内部有很多库,包括 ...
- Intellij idea 离线安装activiti工作流插件
想在Intellij idea上安装一个activiti插件玩玩,由于网络环境原因,不能使用网上已有的在线搜索acti bpm并安装的方式.也在网上找了好久没找到离线安装的方式.自己摸索了一下装好了, ...
- bug生命周期&bug跟踪处理
一.BUG BUG:软件的缺陷 1.BUG的定义:----与软件测试的目的对应 软件的BUG,狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节.或 ...