首页 > 技术文章 > docker的常用命令

worldusemycode 2022-02-16 21:58 原文

docker常用的命令

启动类命令

  • 启动docker:systemctl start docker
  • 停止docker:systemctl stop docker
  • 重启docker:systemctl restart docker
  • 查看docker的状态:systemctl status docker
  • 开机自启:systemctl enable docker
  • 查看docker概要信息:docker info
  • 查看已启动docker容器的占用CPU:docker stats

镜像命令

  • 列出本地主机上所有的镜像:docker images [options]
    options的说明(可选选项):-a:列出本地所有镜像(含历史镜像层) -q:只显示镜像ID
    image
    REPOSITORY:表示镜像的仓库源
    TAG:镜像的标签版本号(同一个仓库源可以有多个TAG版本)
    IMAGE ID:镜像ID
    CREATE:镜像的创建时间
    SIZE:镜像的大小
  • https://hub.docker.com/ 上查询某个服务的镜像:docker search [options] 镜像名
    options的说明(可选选项):-limit:只列出N个镜像
  • 在docker hub上下载某个服务的镜像到本地:docker pull 镜像名:[tag]
    tag的说明(可选选项):可以指定镜像的版本(不写默认下载的是最新版镜像)
  • 查看镜像、容器、镜像卷所占用的磁盘空间:docker system df
  • 删除镜像的命令:docker rmi [options] 镜像ID 或者 镜像名:[tag]
    options的说明(可选选项):-f 强制删除
    删除全部镜像:docker rmi -f $(docker images -aq)

容器命令

基础容器命令

  • 新建和启动容器:docker run [options] 镜像ID 或者 镜像名:tag [command]
    options的说明(可选选项:单个减号和双个减号):
    --name 容器名:为容器指定一个名称
    -d:后台运行容器并返回容器ID,也叫启动守护式容器(后台运行)
    -i:以交互模式运行容器,通常与-t同时使用
    -t:为容器重新分配一个伪输入终端,通常与-i同时使用
    -p 主机端口:容器端口:指定端口映射(小写p,可以指定多个)
    -P:随机端口映射(大写P)
    command的说明:
    /bin/bash:交互式的shell
  • 查看当前所有正在运行的容器:docker ps [options]
    options的说明(可选选项):
    -a:列出当前所有运行的容器+历史运行过的容器
    -q:只显示容器ID
    -l:显示最近创建的容器
    -n:显示最近n个创建的容器
    image
    CONTAINER ID:容器的ID
    NAMES:容器的名字
  • 退出容器的两种方式
    exit:当使用docker run命令进入容器后,用exit退出容器时容器会停止
    ctrl+q+p:当使用docker run命令进入容器后,用ctrl+q+p退出容器时容器不会停止
  • 启动已经停止的容器:docker start 容器ID或者容器名
  • 重启容器:docker restart 容器ID或者容器名
  • 停止容器:docker stop 容器ID或者容器名
  • 强制停止容器:docker kill 容器ID或者容器名
  • 删除容器:docker rm -f 容器ID或者容器名
    删除全部容器:docker rm -f $(docker ps -aq) 或者 docker ps -aq | xargs docker rm

复杂容器命令

  • 启动守护式容器(后台运行):docker run -d 镜像ID或者镜像名:tag
    docker容器后台运行,就必须有一个前台进程,如果没有前台进行容器就会自动退出(操作系统centos、ubuntu默认没有前台进程,因此使用-d启动后会自动退出)
    解决办法:使用-it进入容器,用ctrl+q+p退出容器
  • 查看容器的日志:docker logs 容器ID或者容器名
  • 查看容器内运行的进程:docker top 容器ID或者容器名
  • 查看容器内部细节(网络、端口映射):docker inspect 容器ID或者容器名
  • 从容器内拷贝文件到主机上:docker cp 容器ID:容器内路径 目的主机路径
  • 导出和导入容器
    export导出容器:将容器导出为一个tar归档文件(docker export 容器ID > 文件名.tar)
    import导入容器:依据tar归档文件创建一个新的文件系统导入为镜像(cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号)
  • 进入正在运行的容器并以命令式交互式终端操作(一般先用-d后台启动容器,再用exec进入对应的容器实例)
    docker attach:直接进入容器启动命令的终端,不会启动新的进程,用exit退出会导致容器的停止
    image
    dcoker exec:在容器中打开新的终端,并且可以启动新的进程,用exit退出不会导致容器的停止
    image

推荐阅读