概述

主机: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

分析:

-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 可以理解为默认的


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐