概述
主机:Centos6.5 , 内核:3.10.5-3.el6.x86_64
Docker命令列表
docker help
[root@entel2 ~]# docker help .......省略输出
man docker-run
[root@entel2 ~]# man docker-run ............省略输出
确保Docker已经安装就绪
查看服务是否启动:
[root@entel2 ~]# service docker status docker (pid 7707) is running...
支持参数:
[root@entel2 ~]# service docker Usage: /etc/init.d/docker {start|stop|status|restart|condrestart|try-restart|reload|force-reload}
info命令,返回所有容器和镜像(镜像即是Docker用来构建容器的“构建块”)的数量、Docker使用的执行驱动和存储驱动(execution and storage driver) 以及Docker的基本配置
[root@entel2 ~]# docker info Containers: 17 Images: 19 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 53 Dirperm1 Supported: false Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 3.10.5-3.el6.x86_64 Operating System: <unknown> CPUs: 24 Total Memory: 126.1 GiB Name: entel2 ID: P3XE:C6XD:OQSM:FDVQ:FLB3:7H7I:EYUR:OCXH:FW5H:LWZH:VPPM:C7ZZ WARNING: No swap limit support
创建容器
docker run 提供了Docker命令的创建到启动的功能。
[root@entel1 ~]# docker run -i -t ubuntu /bin/bash Unable to find image 'ubuntu:latest' locally Pulling repository ubuntu Get https://index.docker.io/v1/repositories/library/ubuntu/images: dial tcp: lookup index.docker.io: no such host• 1
分析:
-i 标志保证容器中的STDIN是开启的,持久的标准输入
-t 告诉Docker为要创建的容器分配一个伪tt终端,这样新创建的容器才能提供一个交互式shell。
这两个参数已经是最基本的参数了。
接下来 我们告诉Docker基于什么镜像来创建容器, 实例中使用的 ubuntu镜像。
ubuntu镜像是一个常备镜像,也可以成为“基础”(base)镜像,由Docker公司提供,保存在Docker Hub Registry上。
到此为止,我们基于基础镜像启动了一个容器,并没有对容器增加任何东西。
so, 这背后发生了什么?
Docker首先检查本地是否存在ubuntu镜像,不存在的话,则会连接官方维护的Docker Hub Registry,查看Docker Hub中是否有该镜像, 一旦找到就下载到本地宿主机中。
我这个主机不能访问外网,so….你就看到了如上的信息。
最后我们告诉Docker在新容器中要运行设么命令,在这里我们在容器中运行/bin/bash命名启动了一个Bash shell
注:
ubuntu:latest latest 可以理解为默认的