Docker镜像、容器常用命令

镜像相关命令

帮助命令

docker version # 查看docker的版本信息
docker info   # 显示docker的系统详细信息,包括镜像、容器的数量和状态
docker 命令 --help # 帮助命令

镜像相关命令

sudo docker images # 列出所有镜像
sudo docker images --help # 帮助信息
sudo docker images -q # 列出镜像ID,常用命令
sudo docker images -a # 列出所有镜像

镜像搜索命令

docker search # 搜索镜像

镜像拉取命令

docker pull 镜像名称 # 拉取镜像

删除镜像命令

docker rmi -f 镜像名或者镜像id # 删除镜像
docker rmi -f 镜像id 镜像id 镜像id # 删除多个容器
docker rmi -f $(docker images -aq) # 删除全部镜像

容器相关命令

创建容器命令

# docker run [可选参数] imageid
# 参数说明
--name='容器名'  # 设定容器名称
-d               # 以后台方式运行,光带这个参数后台不会启动
-it              # 使用交互方式运行,进入容器查看内容
-p               # 指定容器端口 8080:8080(小写的p)
    -p  8080:8080 # 主机端口:容器端口 ,主机端口映射到容器端口 ==此为最常用==
    -p ip:主机端口:容器端口 # 指定主机ip
    -p 8080 # 主机端口
    8080 # 直接写端口号               
-P               # 随机指定端口(大写的P)
--memory 512m --cpus 1   # 限制容器使用内存和cpu核心数。

启动和停止容器命令

docker start 容器id # 启动容器
docker restart 容器id # 重启容器
docker stop 容器id # 停止当前正在运行的容器
docker kill 容器id # 强制停止当前运行容器,在stop报错时使用

删除容器命令

docker rm 容器id  # 删除容器,不能删除正在运行的容器 
docker rm -f $(docker ps -aq) # 删除所有容器 -f 是强制删除,无论是否运行都删除
docker ps -a -q | xargs docker rm  # 删除所有容器的另一种方法

查看容器日志

docker logs -tf --tail 10 容器id # 查看容器日志,-tf是显示所有日志,--tail 10是显示最近10条日志 -f是格式,-t是时间戳
docker volume ls # 查看已创建的数据卷
docker volume prune # 清理未使用的数据卷

查看容器中的进程

docker top 容器id
UID                 PID                 PPID                C                   STIME               TTY                 
当前用户id     父id               进程id
# 这个就类似于ubuntu的top命令

查看容器元数据

docker inspect 容器id   # 较为复杂,以后慢慢看

进入运行中的容器

# 方法一
docker exec -it 容器id /bin/bash # 以ubuntu容器为例,要指定bashshell,进入容器后开始一个新的终端,可以操作(常用)-i是交互,-t是终端显示
# 方法二
docker attach 容器id # 进入容器正在执行的终端,不会启动新的进程

拷贝容器数据到主机

docker cp 容器id:/目录/...../ 路径 # 与cp用法差不多。无论容器是否运行都可以拷贝。

查看容器占用内存

docker stats # 查看当前所有docker容器占用内存情况

发表评论