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)

容器命令

注意:有了镜像之后才可以创建容器

运行容器

  1. 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从容器中退出,容器依然会保持运行

启动容器

  1. docker start [容器ID]:启动容器,根据容器ID启动容器
  2. docker restart [容器ID]:重启容器,根据容器ID

停止容器

  1. docker stop [容器ID]:通过容器ID,停止正在运行的容器
  2. docker kill [容器ID]:根据容器ID,强制杀掉正在运行的容器’

查看容器的元数据信息

docker inspect [容器的名称/ID]

查看日志,根据对应容器的名称或ID

docker [option] logs [container_name]

可选参数:

  1. --detial:显示提供给日志的额外详细信息
  2. -f, --follow:跟踪日志输出
  3. --since [string]:显式特定时间戳之后的日志输出
  4. -n, --tail [string]:显式最新的日志,指定显式多少行
  5. -t, --timestamps:显式时间戳
  6. --until string:显式特定时间戳之前的日志

查看容器里面的进程信息

docker top [容器名称/ID]

查看运行中的容器

# 查看所有运行中的容器
docker ps 
# 查看所有运行过的容器
docker ps -a
# 显式最近创建的容器,-n=2代表显式的数量
docker ps -l [-n=2]
# 只显示容器的编号
docker ps -q
# 筛选显式的容器,详情可以看官网示例
docker ps -f [params]

进入正在运行的容器

  1. docker exec -it [容器ID] [command]:根据正在运行的容器ID,进入容器,-it代表以交互的模式进入(推荐使用)

  2. 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

退出容器

  1. exit:退出容器,在容器里面输入exit就可以退出容器,容器也会停止运行
    演示使用docker exec命令后再退出容器,容器会继续保持运行
    在这里插入图片描述
  2. Ctrl+P+Q:以快捷键的方式退出容器,容器也会保持运行

删除容器

# 根据容器的ID删除容器,加-f代表强制(force)删除
docker rm -f [容器ID]
# 删除所有的容器
docker rm -f $(docker ps -q)

以上是关于docker常用命令的主要内容,如果未能解决你的问题,请参考以下文章

Docker 常用命令

docker常用命令速查

Docker 常用命令

Docker 常用命令

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段

提效小技巧——记录那些不常用的代码片段