Docker容器
Docker容器
Docker容器
1. 容器基本操作
启动容器:
1.docker run IMAGE [COMMAND] [ARG...]
2.
演示:
1.[KANO@kelvin ~]$ docker run centos echo 'hello world'
2.hello world
3.
启动交互式容器:
1.docker run -i -t IMAGE /bin/bash
2.   -i --interactive=true|false 默认是false
3.   -t --tty=true|false 默认是false
演示:
1.[KANO@kelvin ~]$ docker run -i -t centos /bin/bash
2.[root@1b2ad927e99b /]# ps -ef
3.UID        PID  PPID  C STIME TTY          TIME CMD
4.root         1     0  0 08:27 ?        00:00:00 /bin/bash
5.root        15     1  0 08:28 ?        00:00:00 ps -ef
6.[root@1b2ad927e99b /]# exit
7.exit
8.[KANO@kelvin ~]$ 
9.
这样我们就进入了刚刚启动的交互式容器中,然后退出交互式容器
查看容器:
1.docker ps [-a] [-l]
2.    -a :列出所有容器
3.    -l :列出最新创建的容器
演示:
1.[KANO@kelvin ~]$ docker ps
2.CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
3.#什么也没有显示,因为刚才运行的容器在运行后就停止了,ps没有任何参数时,默认返回正在运行的容器
4.[KANO@kelvin ~]$ docker ps -a
5.CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS                     PORTS               NAMES
6.1b2ad927e99b        centos                         "/bin/bash"              4 minutes ago       Exited (0) 3 minutes ago                       high_engelbart
7.b739cc3b468e        centos                         "echo 'hello world'"     8 minutes ago       Exited (0) 8 minutes ago                       compassionate_wozniak
8.f896b1aa1b9a        kiwenlau/hadoop-slave:0.1.0    "/bin/sh -c ''/root/s"   2 weeks ago         Exited (137) 2 weeks ago                       slave2
9.34f2c96104bd        kiwenlau/hadoop-slave:0.1.0    "/bin/sh -c ''/root/s"   2 weeks ago         Exited (137) 2 weeks ago                       slave1
10.9b3c668bbbf3        kiwenlau/hadoop-master:0.1.0   "/bin/sh -c ''/root/s"   2 weeks ago         Exited (137) 2 weeks ago                       master
11.7f6a984f7891        centos:hadoop                  "/bin/bash"              2 weeks ago         Exited (0) 2 weeks ago                         distracted_rosalind
12.977107b28f11        centos:hadoop                  "/bin/bash"              2 weeks ago         Exited (0) 2 weeks ago                         goofy_rosalind
13.26fdf0632dc4        centos                         "/bin/bash"              2 weeks ago         Exited (0) 2 weeks ago                         modest_sammet
14.60bf9249027a        centos                         "/bin/bash"              2 weeks ago         Exited (0) 2 weeks ago                         hungry_hopper
15.38e8d75dc3d0        ubuntu:14.04                   "/bin/bash"              2 weeks ago         Exited (130) 2 weeks ago                       angry_blackwell
16.9415009d239c        fedora                         "/bin/bash"              2 weeks ago         Exited (0) 2 weeks ago                         trusting_hodgkin
17.#-a返回所有容器的信息
18.
inspect返回容器详细信息
1.[KANO@kelvin ~]$ docker inspect 1b2ad927e99b837e5840b38cc36dbb7f661354a713bd27dbb478efe7928bf227 
2.[
3.{
4.    "Id": "1b2ad927e99b837e5840b38cc36dbb7f661354a713bd27dbb478efe7928bf227",
5.    "Created": "2015-12-22T08:27:14.348973558Z",
6.    "Path": "/bin/bash",
7.    "Args": [],
8.    "State": {
9.        "Running": false,
10.        "Paused": false,
11.        "Restarting": false,
12.        "OOMKilled": false,
13.        "Dead": false,
14.        "Pid": 0,
15.        "ExitCode": 0,
16.        "Error": "",
17.        "StartedAt": "2015-12-22T08:27:15.989546491Z",
18.        "FinishedAt": "2015-12-22T08:28:11.729801895Z"
19.    },
20.    "Image": "14dab3d4037239f08fb78310885f0ffd09adb3e2c6161ad72e36adb81661703f",
21.    "NetworkSettings": {
22.        "Bridge": "",
23.        "EndpointID": "",
24.        "Gateway": "",
25.        "GlobalIPv6Address": "",
26.        "GlobalIPv6PrefixLen": 0,
27.        "HairpinMode": false,
28.        "IPAddress": "",
29.        "IPPrefixLen": 0,
30.        "IPv6Gateway": "",
31.        "LinkLocalIPv6Address": "",
32.        "LinkLocalIPv6PrefixLen": 0,
33.        "MacAddress": "",
34.        "NetworkID": "",
35.        "PortMapping": null,
36.        "Ports": null,
37.        "SandboxKey": "",
38.        "SecondaryIPAddresses": null,
39.        "SecondaryIPv6Addresses": null
40.    },
41.    "ResolvConfPath": "/var/lib/docker/containers/1b2ad927e99b837e5840b38cc36dbb7f661354a713bd27dbb478efe7928bf227/resolv.conf",
42.    "HostnamePath": "/var/lib/docker/containers/1b2ad927e99b837e5840b38cc36dbb7f661354a713bd27dbb478efe7928bf227/hostname",
43.    "HostsPath": "/var/lib/docker/containers/1b2ad927e99b837e5840b38cc36dbb7f661354a713bd27dbb478efe7928bf227/hosts",
44.    "LogPath": "/var/lib/docker/containers/1b2ad927e99b837e5840b38cc36dbb7f661354a713bd27dbb478efe7928bf227/1b2ad927e99b837e5840b38cc36dbb7f661354a713bd27dbb478efe7928bf227-json.log",
45.    "Name": "/high_engelbart",
46.    "RestartCount": 0,
47.    "Driver": "devicemapper",
48.    "ExecDriver": "native-0.2",
49.    "MountLabel": "",
50.    "ProcessLabel": "",
51.    "AppArmorProfile": "",
52.    "ExecIDs": null,
53.    "HostConfig": {
54.        "Binds": null,
55.
自定义容器名:
1.docker run --name=自定义名 -i -t IMAGE /bin/bash
那么我们在运行inspect命令就可以使用这个容器
重新启动停止的容器:
1.docker start [-i] 容器名
删除停止的容器:
1.docker rm 容器名
2. 守护式容器
上面我们运行了交互式容器,运行后就停止。但是有些情况下,我们需要一个长时间运行、没有交互式对话的容器,这就是守护式容器。它非常适合运行应用程序和服务。
以守护形式运行容器:
- docker run -i -t IMAGE /bin/bash
- 在运行交互式容器的时候以Ctrl+P和Ctrl+Q的组合键退出容器
- 演示:
1.[KANO@kelvin ~]$ docker run -i -t centos /bin/bash
2.[root@26b420bf9124 /]# #【Ctrl+P然后Ctrl+Q】[KANO@kelvin ~]$ docker ps
3.CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
4.26b420bf9124        centos              "/bin/bash"         12 seconds ago      Up 10 seconds                           tender_hypatia
5.
如果要再次进入到容器中,需要附加到运行中的容器:
1.docker attach 容器名
演示:
1.[KANO@kelvin ~]$ docker attach 26b420bf9124ce5ab264ac04279b11fff4ec9db82a72012023526a6547de0186 
2.
3.[root@26b420bf9124 /]# 
4.
启动守护式容器:
1.docker run -d 镜像名 [COMMAND] [ARG...]
-d:表示启动容器时以后台方式启动
查看容器日志:
1.docker logs [-f] [-t] [--tail] 容器名
2.   -f --follows=true|false 默认为false #跟踪日志变化返回结果
3.   -t --timestamps=true|false 默认为false #加上时间戳
4.   --tail="all" #返回结尾处多少数量的日志
查看容器内进程:
1.docker top 容器名
在运行中的容器内启动新进程:
1.docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]
停止守护式容器:
1.docker stop 容器名
或者
1.docker kill 容器名
更多帮助可查看Docker文档:
1.man docker-run
2.man docker-logs
3.man docker-top
4.man docker-exec
5....
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 在任意版本的 ... 
随机推荐
- Netty详解
			Netty详解 http://blog.csdn.net/suifeng3051/article/category/2161821 
- 库函数strlen源码重现及注意问题
			首先直接上源码: size_t strlen (const char * str) { const char *eos = str; while(*eos++); return(eos - str - ... 
- 在Google map图上做标记,并把标记相连接
			<!DOCTYPE html> <html> <head> <title>GeoLocation</title> <meta name ... 
- 【转】C++虚函数解析
			本文转自陈皓大叔(左耳朵耗子)的博客www.coolshell.com. 文章是很久之前所写,去年还在写C++时有幸拜读,现在想起来还是相当有价值一转的,如果有一定C++基础(特别是读过<深度探 ... 
- python map, reduce,filter 使用
			参考python built-on function: http://docs.python.org/2.7/library/functions.html?highlight=map%20reduce ... 
- grep 基于关键字搜索
			grep 'linux' /etc/passwd 搜索passwd文件下的包含linux的行 find / -user linux|grep Video 在用户为linux的根目录下搜房Video内容 ... 
- Android Monkey Test
			Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常.当Monkey程序在模拟器或设备运行的时候, ... 
- PLA 多维情况下的vc维
			对于d维的数据集,vc = d+1 证明: $vc \geq d+1$ : 存在d+1个点可以被H shatter 构造矩阵(注意加上$w_0$对应的$x_0$) 注意x可逆,构造$w=X^{-1 ... 
- puppet svn集成
			puppet svn集成 
- sharepoint 2013 reporting services 远程server返回错误: (500) 内部server错误。
			在sharepoint 2013部署reporting services过程中,点击管理中心,server上的服务.系统配置.提示了一个错误: 远程server返回错误: (500) 内部server ... 
