docker run命令做了什么
1,查看本地是否存在镜像,有镜像就以该镜像为模板生成实例
2,没有镜像就从远程仓库拉取镜像,然后以该镜像为模板生成实例
为什么Docker要比VM虚拟机快
-
docker有着比虚拟机更少的抽象层
-
docker利用的是宿主机的内核,而不需要加载操作系统OS内核
docker常见命令
1,帮助启动类命令
- systemctl start docker –启动docker
- systemctl stod docker –停止docker
- systemctl restart docker –重启docker
- systemctl status docker –查看docker状态
- systemctl enable docker –设置开机启动docker
- docker info –查看docker概要信息
- docker –help –查看docker 总体帮助文档
- docker 命令 –help –查看docker 命令帮助文档
2,镜像命令
-
docker images:罗列出当前docker中的镜像文件
格式:
-
REPOSITORY:表示镜像的仓库源
-
TAG:镜像的标签
-
IMAGE ID:镜像ID
-
CREATED:镜像创建时间
-
SIZE:镜像的大小
OPTIONS:说明
-
-a:列出所以镜像
-
-q:只显示镜像ID
- docker search image:查询镜像(docker search –limit 5 redis)
-
docker pull image:下载镜像
- docker pull 镜像名字[:TAG]:指定镜像版本下载
- docker pull 镜像名字:下载最新镜像版本,等价:docker pull 镜像:latest
- docker system df:查看docker的容量空间
- docker rmi 镜像ID:删除镜像 (docker rmi -f $(docker images -qa):删除所以镜像)
涉及到的面试题:
- docker 虚悬镜像是什么:仓库名,标签名都是none的镜像
3,容器命令
-
新建+启动容器:docker run [OPTION] IMAGE[COMMAND] [ARG…]
OPTIONS说明:(常用)- –name:为容器指定一个名字
- -d :后台运行容器并且返回容器ID,即启动守护式容器(后台运行)
- -i:以交互式运行容器,通常与 -t一起使用
- -t :为容器重新分配一个伪输入终端,通常与 -i一起使用
- -P:随机端口映射
- -p:指定端口映射
-
docker ps
OPTIONS说明:(常用)- -a:查询所以的容器)
- -l:显示最近创建的容器
- -n 2:显示最近创建的2个容器
- -q:显示所以容器的ID
-
容器的退出
- exit:run进去容器,exit退出,容器停止
- ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止
-
启动已经停止的容器:docker start 容器ID或者容器名称
-
重启容器:docker restart 容器ID或者容器名称
-
停止容器:docker stop 容器ID或者容器名称
-
强制停止容器:docker kill 容器ID或者容器名称
-
删除已经停止的容器:
- docker rm 容器ID或者容器名称(已经停止的)
- 或者docker rm -f 容器ID或者容器名称
-
一次性删除多个容器实例:
- docker rm -f $(docker ps -a -q)
- docker ps -a -q| xargs docker rm
-
启动守护式容器(后台容器)
- docker run -d –name myredis redis
-
查看容器日志:docker logs 容器ID或者容器名称
-
查看容器内运行的进程:docker top 容器ID或者容器名称
-
查看容器内部细节: docker inspect 容器ID或者容器名称
-
进入正在运行的容器并以命令行交互:
- docker exec -it 容器ID
- docker attach 容器ID
-
exec 和attach命令都是进入容器,有说明区别
- exec:exec命令通过交互式方式进入容器之后,exit退出之后,容器是不会停止。
- attach:attach命令进入容器之后,exit退出交互式伪终端后,容器会停止
-
从容器内容导出文件到宿主机:docker cp 容器ID:容器内路径 目的主机路径
-
导入和导出容器
- export:导出容器的内容留作为一个tar归档文件,命令格式:docker export 容器ID>文件名.tar demo:(docker export e9cf0da5e5c1 > ubuntu.tar)
-
import:从tar包中的内容创建一个新的文件系统再导入为镜像,命令格式:cat 文件名.tar|docker import -镜像用户/镜像名:镜像版本号,
demo:cat ubuntu.tar|docker import – ubuntu1/ubuntu:111