docker 命令

docker version

查看版本

docker 命令

 

镜像相关命令

docker images

显示存在的镜像

docker 命令

|REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小

      同一仓库源可以有多个TAG,代表这个仓库源的不同个版本,我们使用REPOSITORY:TAG来定义不同的镜像。如果你不指定一个镜像的版本标签,例如你只使用ubuntu,docker将默认使用ubuntu:latest镜像

 

docker images -a  显示全部镜像

docker 命令

 

docker search

查找镜像

查找还是从Docker Hub上查,但是pull的时候是从阿里云pull

docker 命令

OFFICIAL是官方版

docker 命令

 

docker pull

下载镜像

docker pull tomcat 等价于 docker pull tomcat:latest

docker 命令

 

docker rmi

删除镜像

docker rmi -f 彻底删除

docker 命令

 

容器相关命令

在我们pull了centos之后,发现centos才只有200M

docker 命令

但是我们都记得在vmware中虚拟机镜像是有好几个G的

通过这个例子我们可以加深对docker容器的理解

可以把容器看作是一个简易版的linux环境(包括root用户权限、进程空间、)和运行在其中的应用程序

docker的启动是秒级的,因为它除了保留内核,把那些硬件、网络等等不相关的统统拿掉

Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。

 

注意所有容器操作的前提是已下载镜像,有镜像才能创建容器,这是根本前提

docker run

新建并启动容器

依照某个镜像新建一个这个镜像的具体实例容器

如果本地有镜像就新建、运行,本地没有就去仓库上拉取

docker 命令

参数说明

  • -d: 在后台运行容器
  • -p: 将宿主机端口与容器端口进行映射,格式为 < 宿主机端口>:<容器端口>
  • --name: 指定容器的名称,即重新命名一个别名
  • -v: 将主机的目录与容器目录进行映射,格式为 <主机目录>:<容器目录>
  • -i 以交互式模式运行容器

  • -t 为容器重新分配一个伪输入终端(-i和-t通常一起使用)

-it就是比如运行一个centos容器,就直接给你返回一个已经登入了的这个容器的命令行

 

docker ps

列出当前所有正在运行的容器

docker ps -a       列出所有正在运行的容器+历史上运行过的容器

docker 命令

 

退出容器

两种退出方式

exit  容器停止并退出

ctrl+p+q 容器不停止退出
 

docker start 

启动容器

 

docker run 只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start 即可

 

docker restart

重启容器

 

docker stop

停止容器

 

docker kill

强制关闭容器

stop是温柔停止,kill是粗暴停止

 

docker rm

删除已停止的容器

rmi删除镜像,rm删除容器

当运行docker ps 显示空的时候,表示当前没有正在运行的容器

这个时候就像虚拟机,已经被建立了,但是被关机或者挂起了,但是它本身还在

用docker rm就是把它删掉了