接着上一篇,今天说一下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)容器管理命令的更多相关文章

  1. docker之镜像管理命令

    一.docker image 镜像管理命令 指令 描述ls 列出本机镜像build 构建镜像来自Dockerfilehistory 查看镜像历史inspect 显示一个或多个镜像详细信息pull 从镜 ...

  2. rabbitMQ安装docker版 /权限管理命令

    1.进入docker hub镜像仓库地址:https://hub.docker.com/ 2.搜素rabbitMQ 查询镜像,可以看到多种类型,选择带有web页面的(managment) 3.拉取镜像 ...

  3. Docker 1.13 管理命令

    1.12 CLI 的问题 Docker1.12 命令行接口(CLI)有40多个顶级命令,这些命令存在以下问题: 没有归类组织,这让docker 新手很难学习: 有些命令没有提供足够的上下文环境,以至于 ...

  4. docker之容器管理

    一.docker常用的创建命令 [root@node03 ~]# docker create --help [root@node03 ~]# docker run --help OPTIONS说明: ...

  5. DOCKER学习_002:Docker的容器管理

    一 Docker的基本信息 前面已经安装了Docker,现在看一下已安装Docker的安装环境以及其他信息 1.1 系统环境 [root@docker-server3 ~]# uname -r -.e ...

  6. docker 清理容器的命令

    执行以下命令会彻底清除所有容器. docker rm -f $(docker ps -qa) rm -rf /var/lib/etcd /var/lib/cni /var/run/calico rm ...

  7. docker 让容器执行命令 与 进入容器交互

    直接执行命令docker exec mynginx cat /etc/nginx/nginx.conf 进入容器交互docker exec -it 80nginx /bin/bash

  8. docker入门-镜像管理命令篇

    一.下载.上传镜像   1:下载安装centos镜像 语法:docker [参数][镜像名称] [root@host1 ~]# docker pull centos Using default tag ...

  9. Docker清除容器镜像命令:

    # ~/.bash_aliases # Kill all running containers. alias dockerkillall='docker kill $(docker ps -q)' # ...

随机推荐

  1. PyQt5嵌入matplotlib动画

    # -*- coding: utf-8 -*- import sys from PyQt5 import QtWidgets import numpy as np from matplotlib.ba ...

  2. 影响HTTP性能的常见因素

    影响HTTP性能的常见因素 我们这里讨论HTTP性能是建立在一个最简单模型之上就是单台服务器的HTTP性能,当然对于大规模负载均衡集群也适用毕竟这种集群也是由多个HTTTP服务器的个体所组成.另外我们 ...

  3. 自学java难吗?一个JAVA学习者应该具备的素质

    无论是在校的学生也好,还是转行的也好,如今学JAVA开发的人越来越多,造成了如今新手越来越多,有人说前端饱和了,JAVA饱和了,JAVA才刚开始以一种好的势头发展就饱和了.我也是无语,一般说饱和的人, ...

  4. 基于ZigBee模块与51单片机之间的简化智能家居项目简介(学生版本)

    5月份学校举行比赛,我们团队报名<智能家居>的项目,设计的总体思路用:QT写的上位机与ZigBee无线通信加51作为终端的简易版智能家居 电路连接:PC机->cc2530(协调器)- ...

  5. .netcore2.1 使用postgresql数据库,不能实现表的CRUD问题

    PostgreSQL对表名.字段名都是区分大小写的.为了兼容其他的数据库程序代码的编写,推荐使用小写加_的方式,例如:swagger_info 我们使用.netcore连接postgresql数据库时 ...

  6. Unity_新手必懂知识点

    翻车了!!!一个小例子带你了解闭包.事故现场:场景:6个button,上方1个text.点击button,text会显示button上的数字.代码如下: //在unity里面赋值public List ...

  7. C#开发APP,ToolBar控件在Smobiler中的使用方式【附案例源码】——Smobiler移动开发平台

    控件说明 底部工具栏控件. 效果演示 其他效果 该界面为仿淘宝UI制作的一个简单的UI模板,源码获取方式请拉至文章末尾. 特色属性 属性 属性说明 Direction(相对布局) 容器主轴方向. Fl ...

  8. 第7章 UserInfo端点(UserInfo Endpoint) - IdentityModel 中文文档(v1.0.0)

    OpenID Connect UserInfo端点的客户端库是作为扩展HttpClient方法提供的. 以下代码将访问令牌发送到UserInfo端点: var client = new HttpCli ...

  9. Eureka注册客户端

    1.pom.xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId ...

  10. openlayers4 入门开发系列之聚合图篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...