docker run 镜像,生成镜像容器,并运行

有以下参数

--name="new name",为容器指定一个新名字

-d:后台运行容器,返回容器id,即启动守护式容器

-i:以交互模式运行容器,通常与-t一起使用

-t:为容器重启输入一个伪输入终端,通常与-i一起使用

-P:随机端口映射

-p:指定端口映射

 此时我便进入了docker下的centos

docker ps,查看当前正在运行的容器

docker ps -a,查看所有运行过的容器

docker ps -l,查看上一次运行过的容器

docker ps -n,查看上n次运行过的容器

docker ps -q,只显示id

退出容器,两种方式

exit,容器停止退出

Ctrl+p+q,容器不停止退出

docker start 容器名/id,启动容器

docker restart 容器名/id,重新启动容器

docker stop 容器名/id,温柔停止容器(类似于关机)

docker kill 容器名/id,强制停止容器(类似于直接拔电源)

docker rm -f 容器名/id,删除某个容器

一次性删除多个容器,docker rm -f $(docker ps -a -q), 或者 docker -a -q | xargs docker rm

----------------------重要-----------------------

首先docker run -d 镜像,会后台运行,不会进行交互式

返回一串id,说明容器启动过,但是

查看正在运行的容器,却没有显示centos。因为我静悄悄的来又静悄悄的走了

原因:docker容器后台运行,就必须要有一个前台进程。容器运行的命令如果不是那些一直挂起的命令(比如top,tail),就是会自动退出的。

这个是docker的机制问题,比如web容器,我们一Nginx为例,正常情况下,我们配置启动响应服务,只需要启动响应的service即可,例如service nginx start。

但是这样做,nginx为后台进城模式运行,导致docker前台没有运行的应用。这样的容器后台启动后会立即自杀,因为它觉得没有事可做了。

所以最佳的解决方案是将要运行的程序以前台进程的形式运行。

查看容器日志

docker logs -f -t  --tail 数字 容器id,,

-t:加入时间戳

-f,跟随最新的日志打印

--tail 数字:显示最后多少条

查看容器内运行的进程

docker top 容器id

查看容器内部的细节

docker inspect 容器id

进入正在运行的容器并以命令行交互

之前说过,ctrl+p+q,可以不停止容器退出,那么如果我想再次进入呢?

docker attach 容器id

在不进入容器的前提下进行操作

docker exec -t 容器id 相应的操作

在外面对容器进行操作

两者的区别就是,一个进入容器操作,不会启动新的进程。另一个是直接在容器当中打开新的终端,启动新的进程

将数据从容器内部拷贝到主机上

比如容器我不想要了,但是里面的数据我需要保留,因此需要将数据从容器里面拷贝到主机上

docker cp 容器id:容器路径 目的主机路径

运行tomcat

docker run -it -p 8888:8080 tomcat,-p是自己指定端口

docker run -it -P tomcat,随机指定端口

2.docker容器的更多相关文章

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. Docker容器环境下ASP.NET Core Web API应用程序的调试

    本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件,在Docker容器环境下,对ASP.NET Core Web API应用程序进行调试.在 ...

  3. 在docker容器中vi指令找不到

    在使用docker容器时,有时候里边没有安装vi,敲vi命令时提示说:vi: command not found,这个时候就需要安装vi,可是当你敲apt-get install vi命令时,提示: ...

  4. 理解Docker(4):Docker 容器使用 cgroups 限制资源使用

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  5. docker学习(5) 在mac中创建mysql docker容器

    github上有一个专门的docker-libary项目,里面有各种各样常用的docker镜像,可以做为学习的示例,今天研究下其中mysql镜像的用法,国内镜像daocloud.io也能找到mysql ...

  6. 在Linux和Windows的Docker容器中运行ASP.NET Core

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...

  7. 自定义Docker容器的 hostname

    自定义Docker容器的 hostname   作者: John Deng 原创内容,欢迎传播,请注明出处:http://www.cnblogs.com/johnd/p/set-docker-host ...

  8. Docker容器是否可以改变世界?

    Docker容器是否可以改变世界? 2016-01-15 杜亦舒 2016年了,很多大牛开始预测技术趋势,其中一个普遍的观点我也很认同: Docker会更加流行,会改变程序世界 2015年的上半年我接 ...

  9. 搭建ubuntu14.04的hadoop集群【docker容器充当服务器】

    首先弄出来装有hadoop.java.ssh.vim的镜像起名badboyf/hadoop.做镜像有两种方法,一种是用Dockerfile来生成一个镜像,一种是基于ubuntu14.04的基础镜像生成 ...

  10. 在docker容器中安装和使用,linux版的powershell

    powershell 传教士 原创文章.始于 2016-09-18 ,2016-10-27修改powershell docker官网.允许转载,但必须保留名字和出处,否则追究法律责任 1 在任意版本的 ...

随机推荐

  1. BZOJ 2597 剪刀石头布(最小费用最大流)(WC2007)

    Description 在一些一对一游戏的比赛(如下棋.乒乓球和羽毛球的单打)中,我们经常会遇到A胜过B,B胜过C而C又胜过A的有趣情况,不妨形象的称之为剪刀石头布情况.有的时候,无聊的人们会津津乐道 ...

  2. 最大流——EK算法

    一.算法理论 [基本思想] 反复寻找源点s到汇点t之间的增广路径,若有,找出增广路径上每一段[容量-流量]的最小值delta,若无,则结束.在寻找增广路径时,可以用BFS来找,并且更新残留网络的值(涉 ...

  3. PM所该学习的

     最近第二阶段实在大家都是大一大二,面临的考试很多也很难,很多时候就开始松懈了下来.可是做事情就是需要效率和时间,慢慢地,也开始懈怠了下来. 作为pm,首先自己必须比组员先了解云笔记的各种进程,做好沟 ...

  4. Java基础——集合

    java的集合类是一个工具类,存放在java.util包中.它不仅可以存储对象,也可以实现常用数据结构,如栈.队列等.严格的说,集合类存放的是对象的引用,而不是对象本身. java集合主要由这两个接口 ...

  5. [C/C++] 智能指针学习

    转自:http://blog.csdn.net/xt_xiaotian/article/details/5714477 一.简介 由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存 ...

  6. spring笔记(三)

    Spring 第二天: 1. 代理模式 2. Aop编程 3.Spring对Jdbc的支持 JdbcTemplate工具类 思考: 程序的“事务控制”, 可以用aop实现! 即只需要写一次,运行时候动 ...

  7. Spark探索经典数据集MovieLens

    Spark探索经典数据集MovieLens 阅读目录 前言 环境 初步预览 探索用户数据 探索电影数据 探索评级数据 回到顶部 前言 MovieLens数据集包含多个用户对多部电影的评级数据,也包括电 ...

  8. CLion 终于支持 jump outside closing bracket/quote with Tab 了!

    我觉得这个 feature 真的很有用.一直期待 CLion 加上这个 feature.今天才知道最新版本(CLion 2018.3.4)中已经有这个功能了,不过我不清楚从哪个版本开始支持的. How ...

  9. 【学习笔记】Learning OpenCV3——Ch8 working with video

    Reading Video with the cv::VideoCapture Object 对象创建的三种方法: // 1. Input filename cv::VideoCapture::Vid ...

  10. [Leetcode] Reverse linked list ii 反转链表

    Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given1->2 ...