docker 命令
docker version
查看版本
镜像相关命令
docker images
显示存在的镜像
|REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小同一仓库源可以有多个TAG,代表这个仓库源的不同个版本,我们使用REPOSITORY:TAG来定义不同的镜像。如果你不指定一个镜像的版本标签,例如你只使用ubuntu,docker将默认使用ubuntu:latest镜像
docker images -a 显示全部镜像
docker search
查找镜像
查找还是从Docker Hub上查,但是pull的时候是从阿里云pull
OFFICIAL是官方版
docker pull
下载镜像
docker pull tomcat 等价于 docker pull tomcat:latest
docker rmi
删除镜像
docker rmi -f 彻底删除
容器相关命令
在我们pull了centos之后,发现centos才只有200M
但是我们都记得在vmware中虚拟机镜像是有好几个G的
通过这个例子我们可以加深对docker容器的理解
可以把容器看作是一个简易版的linux环境(包括root用户权限、进程空间、)和运行在其中的应用程序
docker的启动是秒级的,因为它除了保留内核,把那些硬件、网络等等不相关的统统拿掉
Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。
注意所有容器操作的前提是已下载镜像,有镜像才能创建容器,这是根本前提
docker run
新建并启动容器
依照某个镜像新建一个这个镜像的具体实例容器
如果本地有镜像就新建、运行,本地没有就去仓库上拉取
参数说明
- -d: 在后台运行容器
- -p: 将宿主机端口与容器端口进行映射,格式为 < 宿主机端口>:<容器端口>
- --name: 指定容器的名称,即重新命名一个别名
- -v: 将主机的目录与容器目录进行映射,格式为 <主机目录>:<容器目录>
-i 以交互式模式运行容器
-t 为容器重新分配一个伪输入终端(-i和-t通常一起使用)
-it就是比如运行一个centos容器,就直接给你返回一个已经登入了的这个容器的命令行
docker ps
列出当前所有正在运行的容器
docker ps -a 列出所有正在运行的容器+历史上运行过的容器
退出容器
两种退出方式
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就是把它删掉了