容器是一个打包了应用和服务的环境,是一个轻量级的虚拟机,每一个容器都由一组应用和必要依赖的库组成。
容器作为软件应用的标准集装箱,必须要定义与应用无关的接口。
这次主要学习容器的标准操作

创建容器

创建完容器后docker都会返回一个容器的ID。这个ID是唯一表示容器的。
1. docker create创建的容器处于停止状态。
2. docker run创建并启动容器
这两者若创建的容器没有对应的镜像,docker会从公共的registry上拖下来。
这里写图片描述
PS: 先用docker create创建容器,再docker start的操作,等同docker run
3. docker ps查看正在运行的容器
这里写图片描述
4. docker ps -a查看所有容器,包括没有运行的容器
这里写图片描述
这里重点说一下docker run这个命令
docker run可以创建两种容器:交互式容器和后台型容器。
交互式:运行在前台,有指定的交互控制台。可以给容器输入和输出。所在终端关闭了,或者exit,或者docker stop或docker kill,容器都会变成停止状态。
后台式:运行在后台,创建成功后就与终端无关了。只能调用docter stop或者docker kill来将容器状态变为停止。
这里写图片描述
这里写图片描述
命令docker run -i -t ubuntu /bin/bash
-i打开容器的标准输入
-t为容器创建一个命令行终端。
一般还能用–name=指定容器名,这是一个可选项,若不加的话docker会给你随机分配一个。
这里写图片描述
这里写图片描述
命令背后的事,后台干了些什么事。
docker run命令运行后,docker会在本地搜索我们指定的ubuntu镜像,如果没有的话,就会到公有仓库去Docker Hub中搜索,如果在服务器想找到了指定镜像,就会下载到本地,docker使用这个镜像创建并启动一个容器,容器的文件系统是在只读的镜像文件上加一层可读写的文件层,这样可以保证镜像不变只记录改变的数据,这对容器的共享和传输都非常有利。接着会配置容器的网络,docker会为容器分配一个虚拟网络接口,并通过桥接的方式将该网络接口桥接到宿主主机上去,然后该虚拟网络接口分配一个ip地址。最后,docker在新容器下运行指定的命令。

接下来创建一个后台型容器,
一般用-d来表示后台型容器
这里写图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐