Docker的官网文档写的非常仔细,大家也可以直接看官方文档,官方文档地址:https://docs.docker.com/engine/reference/commandline/docker/
一、帮助命令
docker version # 查看docker版本信息
docker info # 查看docker的更详细信息
docker [命令] --help # 万能帮助命令 (当对一个命令不了解是多去使用--help)
二、镜像命令
1.查看本机上的所有镜像
# 查看所有镜像
docker images
# 查看所有镜像id
docker images -aq
# 解释
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的ID
CREATED 镜像的创建时间
SIZE 镜像的大小
2.搜索镜像
官方镜像搜索文档地址:https://hub.docker.com/search?type=image
docker search 镜像名
# 可以添加条件筛选,感兴趣的同学可以百度一下
3.下载镜像
# 默认拉取的是最新版本(latest)
docker pull 镜像名
# 指定版本拉取(镜像版本号需要去镜像市场[上文]搜索查看)
docker pull nginx:1.17
4.删除镜像
docker rmi -f 镜像id # 根据镜像id删除
docker rmi -f 镜像id1 镜像id2 镜像id3 # 删除多个镜像
docker rmi -f $(docker images -aq) # 删除全部镜像 (前面说过docker images -aq是查询所有镜像id)
三、容器命令
首先我们要知道,镜像启动后就是容器,有镜像才可以创建容器
先下载一个centos镜像
docker pull centos
1.启动并进入容器
docker run -it centos /bin/bash # -it是交互运行;/bin/bash是进入容器后的终端
docker run -d centos # 后台启动容器
2.退出容器
exit # 停止容器并退出
Ctrl + p + q # 不停止退出 (快捷键)
注意:容器一旦停止里面的新建的文件都会消失
3.查看容器
docker ps # 查看正在运行的容器
docker ps -a # 查看历史运行的容器
# CONTAINER ID 就是容器id
4.删除容器
docker rm -f 容器id # 按照容器id删除,正在运行的不能删除
docker rm -f $(docker ps -aq) # 删除所有容器
5.启动和停止容器
docker start 容器id # 启动
docker stop 容器id # 停止
docker restart # 重启容器
docker kill 容器id # 强制停止容器
四、常用的其他命令
1.后台启动容器
# 后台启动centos容器
docker run -d centos
注意:这里我们使用run并后台运行了centos,然而再使用 docker ps
查看命令发现并没有容器在运行,这是为什么呢
解释:docker容器使用后台运行,就必须要有一个前台进程与之配合。如果光启动后台,没有前台应用,docker发现没有应用,就会自动停止运行
2.查看日志
# docker logs
docker logs -tf --tail 10 容器id # 查看指定容器中的10条日志
docker logs -tf 容器id # 查看指定容器中所有日志
3.查看进程
# 查看容器中的进程信息
docker top 容器id
# 查看CPU状态
docker stats
4.查看容器/镜像中的元数据
docker inspect 容器id/镜像id
5.进入当前正在运行的容器
方式一:
docker exec -it 容器id /bin/bash # -it是交互模式;/bin/bash是终端
方式二:
docker attach 容器id
两种方式有什么区别呢?
方式一是打开一个新的终端,方式二是进入正在执行的终端,不会启动新的进程
6.从容器内拷贝文件到主机
docker cp 容器id:文件路径 主机路径