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,随机指定端口

最新文章

  1. your password has expired.to log in you must change it
  2. JS变量、内存、作用域小结
  3. Mobile Prototype Dev Res Collection(Unity原型开发资源储备)
  4. Eclipse插件安装总结
  5. DllImport的具体用法
  6. Lost connection to MySQL server at 'reading initial communication packet' 错误解决
  7. django 基础入门(一)
  8. [bzoj3196][Tyvj 1730][二逼平衡树] (线段树套treap)
  9. WdatePicker 日历控件使用方法+基本常用方法
  10. 【java设计模式】【创建模式Creational Pattern】工厂方法模式Factory Method Pattern(多态性工厂模式Polymorphic Factory Pattern、虚拟构造子模式Virtual Constructor Pattern)
  11. C语言之free函数及野指针
  12. goland 文件头自动注释
  13. Windows下python2与python3兼容设置
  14. git rebase和git merge的用法
  15. ACM-ICPC 2015 BeiJing
  16. chrome:禁用缓存
  17. Linux PWM framework简介和API描述【转】
  18. dtruss
  19. 关于select的默认样式问题
  20. REST easy with kbmMW #20 – OpenAPI and Swagger UI

热门文章

  1. linux备忘录-程序管理与SELinux
  2. Hibernate配置实体类的属性
  3. js中迭代元素特性与DOM中的DocumentFragment类型 笔记
  4. pta函数作业
  5. Linux 监测系统资源
  6. tomcat 服务添加到系统服务
  7. C#中多态
  8. bootstrap-table 回显选中行,行样式
  9. [洛谷P1892]团伙
  10. 统计无符号整数二进制中1的个数(Hamming weight)