(1).镜像是什么?
镜像就是软件包,比如需要使用docker运行centos系统,本地必须存在centos的软件包,docker镜像分本地镜像和远程镜像.docker运行任何软件都是读取本地的软件包,所以需要我们把要运行的软件提前从远程下载到本地
基础命令:
(1.1)docker images 显示本地镜像列表,包含所有已经在本地的软件包列表
(1.2)docker pull centos:7 从远程镜像下载centos7版本的软件包到本地
(1.3)docker search mysql 从远程镜像搜索mysql的软件包,如果搜索结果看到想要安装的包可以通过docker pull下载到本地镜像
命令docker images输出的内容:
代码语言:javascript复制 REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7 9f38484d220f 5 weeks ago 202MB
其中REPOSITORY表示镜像的仓库源,TAG表示镜像的标签,例如上面的是centos7;IMAGE ID表示镜像ID,CREATED表示镜像创建时间,SIZE表示镜像大小
(2).容器是什么?
容器可以理解为执行镜像(或软件包)生成的实例叫做容器。如果你有面向对象编程经验,你可以将镜像(或软件包)理解为Class类,而容器是new Class()实例化出来的对象
基础命令:
(2.1)docker run <imageID> 运行本地某个镜像,会返回一个容器实例ID到命令行.命令中的<imageID>是镜像ID,上文中讲过本地镜像都会有一个唯一的镜像ID.
(2.2)docker attach 容器ID 进入上面run命令生成的容器ID中
命令docker run 其他参数说明:
docker run 命令可以根据运行不同的镜像来添加不同的参数,例如
-d意思让其在后台运行
-t让docker分配一个伪终端并绑定到容器的标准输入上,-i则让容器的标准输入保持打开,比如玩centos需要
-P <容器端口>:<宿主机端口> 将容器内部使用的网络端口映射到我们使用的主机上
(3).基本操作,运行centos镜像生成一个容器
(3.1).先查看本地是否有centos的镜像,发现没有.
代码语言:javascript复制执行命令:docker images
返回内容:REPOSITORY TAG IMAGE ID CREATED SIZE
(3.2).从远程镜像下载centos7到本地镜像,下载失败可以多执行几次
代码语言:javascript复制执行命令:docker pull centos:7
(3.3).再次查看本地镜像列表,确认centos已经下载到本地,并且拿到centos的镜像ID9f38484d220f
代码语言:javascript复制执行命令:docker images
返回内容:
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7 9f38484d220f 5 weeks ago 202MB
(3.4).执行centos的镜像生成一个容器,记录生成的容器ID
代码语言:javascript复制执行命令:docker run -d -i -t 9f38484d220f /bin/bash
返回内容:b9e53b08485a5cf01a47d3b97baa64ce1702226952105b404c8bb3fc11cc7e66(容器ID)
(3.5).进入刚才生成的容器玩玩
代码语言:javascript复制执行命令:docker attach b9e53b08485a5cf01a47d3b97baa64ce1702226952105b404c8bb3fc11cc7e66 (直接进入centos命令行,试试yum update)