docker常用命令
Posted 穷少年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker常用命令相关的知识,希望对你有一定的参考价值。
文章目录
官方帮助文档地址
一些复杂命令,推荐直接去看官方文档,讲的特别详细
https://docs.docker.com/reference/
帮助命令
# 显式docker的版本信息
docker version
# 显式docker系统信息,包括镜像和容器的数量
docker info
# 查看对应命令的帮助文档
docker [命令] --help
镜像(仓库)命令
# 默认显式,所有拉去到本地的顶级镜像
docker images
# 只显示本地顶级镜像的ID
docker images -q
# 根据镜像(仓库)的名称从网络中央仓库(docker hub)上查询
docker search [mirrors_name]
# 根据镜像名称,从网络仓库拉取镜像(默认下载最新版的)
docker pull [mirror_name]
# 拉取指定版本的镜像,tag就是版本号(注意,必须是hub上支持存在的版本号,才能拉取下来)
docker pull [mirror_name:tag] 例如:docker pull mysql:5.7.34
# 删除本地指定的镜像,可以根据镜像ID或者镜像名称
docker rmi -f [image ID|respositoy]
# 删除多个容器,根据ID,以空格分隔
docker rmi -f images1_ID images2_ID
# 删除本地所有的镜像,$()是把里面的命令当做参数使用
docker rmi -f $(docker images -aq)
容器命令
注意:有了镜像之后才可以创建容器
运行容器
docker run [option] image
,运行容器命令,这个指令有很多作用详情可以参考官方文档
docker run [option] image [command]
# options[参数说明]
--name="name" 给容器设置名字,一般我们从同一份镜像启动多个容器,所以就要设置名字区分
-d 指定容器以后台方式运行
-it 使用交互方式运行,进入容器查看内容,-i: 交互式操作。-t: 终端。
-p 指定容器的端口,设置端口映射,例如: -p 80:8080将容器的8080端口映射到外部主机的80端口上
-P 随机指定端口
案例:在docker里面启动一个centos虚拟机
docker run -it centos /bin/bash
其中,-it
代表以交互的方式,在终端上运行,/bin/bash
则是附带的命令,启动centos的bash程序
2. docker exec [options] image
:这个指令也可以启动容器,而且启动容器后,使用exit
从容器中退出,容器依然会保持运行
启动容器
docker start [容器ID]
:启动容器,根据容器ID启动容器docker restart [容器ID]
:重启容器,根据容器ID
停止容器
docker stop [容器ID]
:通过容器ID,停止正在运行的容器docker kill [容器ID]
:根据容器ID,强制杀掉正在运行的容器’
查看容器的元数据信息
docker inspect [容器的名称/ID]
查看日志,根据对应容器的名称或ID
docker [option] logs [container_name]
可选参数:
--detial
:显示提供给日志的额外详细信息-f, --follow
:跟踪日志输出--since [string]
:显式特定时间戳之后的日志输出-n, --tail [string]
:显式最新的日志,指定显式多少行-t, --timestamps
:显式时间戳--until string
:显式特定时间戳之前的日志
查看容器里面的进程信息
docker top [容器名称/ID]
查看运行中的容器
# 查看所有运行中的容器
docker ps
# 查看所有运行过的容器
docker ps -a
# 显式最近创建的容器,-n=2代表显式的数量
docker ps -l [-n=2]
# 只显示容器的编号
docker ps -q
# 筛选显式的容器,详情可以看官网示例
docker ps -f [params]
进入正在运行的容器
-
docker exec -it [容器ID] [command]
:根据正在运行的容器ID,进入容器,-it
代表以交互的模式进入(推荐使用) -
docker attach [容器ID]
:根据指定ID进入容器内,(这个会进入到容器正在执行的终端,而且退出时,容器会自动停止)例:使用
docker exec
进入mysql的终端,然后从mysql容器退出,mysql容器依然在运行
从容器中拷贝文件(文件夹)
# src_path:就是docker容器内部要拷贝的目标路径
# dest_path:就是外部存放拷贝文件的路径
docker cp [options] 容器名称/id:src_path dest_path
拷贝文件(文件夹)到容器内部
docker cp [option] src_path 容器名/id:dest_path
退出容器
exit
:退出容器,在容器里面输入exit就可以退出容器,容器也会停止运行
演示使用docker exec
命令后再退出容器,容器会继续保持运行
Ctrl+P+Q
:以快捷键的方式退出容器,容器也会保持运行
删除容器
# 根据容器的ID删除容器,加-f代表强制(force)删除
docker rm -f [容器ID]
# 删除所有的容器
docker rm -f $(docker ps -q)
以上是关于docker常用命令的主要内容,如果未能解决你的问题,请参考以下文章
Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段