2.docker容器
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容器的更多相关文章
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- Docker容器环境下ASP.NET Core Web API应用程序的调试
本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件,在Docker容器环境下,对ASP.NET Core Web API应用程序进行调试.在 ...
- 在docker容器中vi指令找不到
在使用docker容器时,有时候里边没有安装vi,敲vi命令时提示说:vi: command not found,这个时候就需要安装vi,可是当你敲apt-get install vi命令时,提示: ...
- 理解Docker(4):Docker 容器使用 cgroups 限制资源使用
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
- docker学习(5) 在mac中创建mysql docker容器
github上有一个专门的docker-libary项目,里面有各种各样常用的docker镜像,可以做为学习的示例,今天研究下其中mysql镜像的用法,国内镜像daocloud.io也能找到mysql ...
- 在Linux和Windows的Docker容器中运行ASP.NET Core
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...
- 自定义Docker容器的 hostname
自定义Docker容器的 hostname 作者: John Deng 原创内容,欢迎传播,请注明出处:http://www.cnblogs.com/johnd/p/set-docker-host ...
- Docker容器是否可以改变世界?
Docker容器是否可以改变世界? 2016-01-15 杜亦舒 2016年了,很多大牛开始预测技术趋势,其中一个普遍的观点我也很认同: Docker会更加流行,会改变程序世界 2015年的上半年我接 ...
- 搭建ubuntu14.04的hadoop集群【docker容器充当服务器】
首先弄出来装有hadoop.java.ssh.vim的镜像起名badboyf/hadoop.做镜像有两种方法,一种是用Dockerfile来生成一个镜像,一种是基于ubuntu14.04的基础镜像生成 ...
- 在docker容器中安装和使用,linux版的powershell
powershell 传教士 原创文章.始于 2016-09-18 ,2016-10-27修改powershell docker官网.允许转载,但必须保留名字和出处,否则追究法律责任 1 在任意版本的 ...
随机推荐
- f3d源码解读
Fomo3D 源码解析, 部署指南 https://www.meiwen.com.cn/subject/efntbftx.html 原文链接 Fomo3D 合约源码分析 准备工作 环境准备 (用于调试 ...
- 第1讲——用C++写一个程序
一.学习新知识 在学习C++之前学过C语言了,一些基础的就不bb了,进入正题. 来几个小程序练练手: [程序1] #include <iostream> //头文件 using names ...
- c# 复选下拉框
引用dll: http://pan.baidu.com/s/1qXa97UO 自定义类: namespace TMI_S { /// <summary> /// 功能描述:自定义多选下拉框 ...
- hadoop节点之间通信问题
前天遇到一个hadoop问题,由于之前都是伪分布的情况,没有真正的涉及到集群的环境,最近按照一些资料自己搭建了一个集群环境,三台虚拟机,一个master,两个slave,利用jps查看节点信息,启动了 ...
- STL中mem_fun与mem_fun_ref的区别[转]
http://www.cnblogs.com/Purple_Xiapei/archive/2012/05/27/2520483.html STL中mem_fun和mem_fun_ref的用法 分类: ...
- Nginx代理实现跨域
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...
- exit和die的区别
网上搜索die与exit两个函数的区别,大部分的"标准答案"都是说die是退出并释放内存,exit是退出但不释放内存. 这个解释显然是错的,PHP手册中已经说过"die ...
- [剑指Offer] 29.最小的K个数
[思路1]全排序(快排)之后取出前K个数.O(K+nlogn) class Solution { public: vector<int> GetLeastNumbers_Solution( ...
- DataBase -- Employees Earning More Than Their Managers My Submissions Question
Question: The Employee table holds all employees including their managers. Every employee has an Id, ...
- [bzoj1018] [SHOI2008]堵塞的交通
题目描述 有一天,由于某种穿越现象作用,你来到了传说中的小人国.小人国的布局非常奇特,整个国家的交通系统可以被看成是一个22行CC列的矩形网格,网格上的每个点代表一个城市,相邻的城市之间有一条道路,所 ...