Docker入门到实践 (二) docker常用命令讲解


一、前言

  在上一篇文章中已经介绍了docker相关的概念以及docker的安装, 下面正式进入的docker常用命令的讲解。docker 分为客户端和服务端两部分,docker 为客户端调用的命令, 本文着重介绍客户端的用法。

二、Docker常用命令讲解

1、docker相关命令

1.1、docker启动与停止
//启动docker
systemctl start docker

//停止docker
systemctl stop docker

//重启docker
systemctl restart docker

//设置docker开机自启
systemctl enable docker

1.2、查看docker状态
systemctl status docker

1.3、查看docker版本信息
docker version

1.4、查看docker概要信息
docker info

1.5、查看docker帮助文档
docker --help


2、镜像相关命令

2.1、查看本地主机上的镜像
docker images


REPOSITORY:镜像的仓库源,即镜像名称

TAG:镜像版本标签,即版本号

  • 同一镜像仓库源可以有多个 TAG,代表这个镜像仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

  • 如果不指定一个镜像的版本标签,docker 将默认使用最新版,即latest版本,例如你使用 docker pull tomcat,docker 将默认拉取 tomcat最新版镜像,即docker pull tomcat:latest。

IMAGE ID:镜像ID

CREATED:镜像的创建日期(不是获取该镜像的日期)

SIZE:镜像大小

2.2、查看docker images镜像命令的帮助文档
docker images --help


docker images相关命令的主要用法为: docker images [OPTIONS] [REPOSITORY[:TAG]],即 docker images [docker镜像命令选项] [镜像名称[:版本号]],中括号[]表示该命令选项 可选可不选

常用的docker images镜像命令选项有:

-a :列出本地所有的镜像 (包含中间镜像层)

-q:只显示镜像ID

--digests:显示镜像的摘要信息

--no-trunc:显示完整的镜像信息

docker images常用命令:

//查看镜像
docker images

//查看所有镜像(包含中间镜像层)
docker images -a

//查看镜像ID
docker images -q

//查看所有镜像ID
docker images -aq

2.3、查找docker镜像
docker search 镜像名称


NAME:仓库名称

DESCRIPTION:镜像描述

STARS:点赞数,反应一个镜像的受欢迎程度

OFFICIAL:是否为官方镜像

AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

2.4、查看docker search镜像命令的帮助文档
docker search --help


docker search相关命令的主要用法为: docker search [OPTIONS] TERM,即 docker search [docker镜像命令选项] 镜像,中括号[]表示该命令选项 可选可不选

常用的docker search镜像命令选项有:

-f stars=数字 :列出点赞数不小于指定值的镜像

--limit 数字:列出指定数目的镜像,默认数目为25

docker search常用命令:

//查询镜像
docker search 镜像名称

例如:docker search tomcat  //查询tomcat镜像

//查询点赞数不小于指定值的镜像
docker search -f stars=n 镜像名称

例如:docker search -f stars=5 tomcat  //查询点赞数大于等于5的tomcat镜像

//查询点赞数排名前n的镜像
docker search --limit n 镜像名称

例如:docker search --limit 5 tomcat  //查询点赞数排名前5的tomcat镜像

2.5、拉取docker镜像
docker pull 镜像名称[:版本号]



2.5、删除docker镜像
//删除单个镜像
docker rmi 镜像ID/镜像名称[:版本号]

//-f:表示强制删除,强制删除单个镜像
docker rmi -f 镜像ID/镜像名称[:版本号]

//删除多个镜像
docker rmi [-f] 镜像1ID/镜像1名称[:版本号] 镜像2ID/镜像2名称[:版本号]

//删除全部镜像
docker rmi [-f] $(docker images -aq)



2.6、获取docker镜像元信息
docker inspect 镜像ID/镜像名称[:版本号]



3、容器相关命令

3.1、查看docker run容器命令的帮助文档
docker run --help


docker run相关命令的主要用法为: docker run [OPTIONS] IMAGE [COMMAND] [ARG...],即 docker run [docker容器命令选项] 镜像 [命令] [参数],中括号[]表示该命令选项 可选可不选

常用的docker run容器命令选项有:

-i :表示以交互模式运行容器,通常与-t结合使用

-t:为容器重新分配一个伪输入终端,通常与-i结合使用

-d:后台运行容器,并返回容器ID,即启动守护式容器 (这样创建的容器不会分配一个伪输入终端,如果是以-it两个参数启动,启动后则会分配一个伪输入终端)

-p:指定端口映射,格式为:-p 主机(宿主机)端口:容器映射端口,可以使用多个-p做多个端口映射

-v:指定挂载主机目录/文件 到容器目录/文件 上,即挂载容器数据卷,格式为:-v 主机(宿主机)目录/文件的绝对路径:容器内目录/文件的绝对路径[:读取权限],可以使用多个-v做多个目录或文件映射,默认为rw读写模式ro表示只读

  rw读写模式:表示宿主机能对数据卷进行读取和更改,容器也能对其进行读取和更改。
  ro表示只读:表示宿主机能对数据卷进行读取和更改,容器只能对其进行读取不能更改。

--name:为创建的容器指定一个名称,格式为:--name=容器名称

3.2、创建并运行容器
//以交互模式运行容器
docker run -it -v 宿主机目录/文件的绝对路径:容器内目录/文件的绝对路径[:rw/ro] -p 主机端口:容器端口 --name=容器名称 镜像ID/镜像名称[:版本号]

//以后台方式运行容器 (推荐)
docker run -d -v 宿主机目录/文件的绝对路径:容器内目录/文件的绝对路径[:rw/ro] -p 主机端口:容器端口 --name=容器名称 镜像ID/镜像名称[:版本号]

注意:这里启动容器时,没有挂载容器数据卷,一般建议挂载容器数据卷,实现数据持久化操作

在浏览器中,输入你的Linux系统的 ip地址:主机(宿主机)端口,即可访问


3.3、查看docker ps容器命令的帮助文档
docker ps --help


docker ps相关命令的主要用法为: docker ps [OPTIONS],即 docker ps [docker容器命令选项],中括号[]表示该命令选项 可选可不选

常用的docker ps容器命令选项有:

-a :列出当前所有正在运行的容器 和 之前运行过但已停止的容器

-l:显示最近创建的容器

-q:只显示容器编号

-n 数字:显示最近创建的 n个容器

-f status=exited:查看已停止的容器

docker ps常用命令:

//查看当前运行的容器
docker ps

//查看所有容器 (运行和停止的)
docker ps -a

//查看最近创建的容器
docker ps -l

//查看最近创建指定个数的容器
docker ps -n 数量

//查看停止的容器
docker ps -f status=exited

//查看所有容器的ID
docker ps -aq

3.4、列出当前所有正在运行的容器
docker ps


CONTAINER ID:容器ID

IMAGE:镜像

COMMAND:命令

CREATED:创建时间

STATUS:启动时长

PORTS:端口映射

NAMES:容器名称

3.5、容器启动与停止
//启动容器
docker start 容器ID/容器名称

//重启容器
docker restart 容器ID/容器名称

//停止容器
docker stop 容器ID/容器名称

//强制停止容器
docker kill 容器ID/容器名称

3.6、删除容器
//删除已停止的容器
docker rm 容器ID/容器名称

//-f:表示强制删除,删除正在运行的容器
docker rm -f 容器ID/容器名称

//删除全部的容器
docker rm -f $(docker ps -qa)



3.7、查看容器内部运行的进程
docker top 容器ID/容器名称



3.8、查看容器内部元信息
docker inspect 容器ID/容器名称



3.9、进入正在运行的容器内并以命令行交互
//以exec方式进入到容器
docker exec -it 容器ID/容器名称 /bin/bash 或 /bin/sh

//以attach方式进入到容器
docker attach 容器ID/容器名称

//如果不想进入容器,直接获取相关指令的运行结果,可在后面填写相关操作指令
docker exec -it 容器ID/容器名称 相关命令

exec 与 attach的区别:

  • exec:是在容器中打开新的终端,并且可以启动新的进程 (推荐)
  • attach:是直接进入容器启动命令的终端,不会启动新的进程

3.10、退出容器

上面说过,可以使用命令进入到正在运行的容器内,那么该如何退出容器呢?请使用以下命令:

//退出并停止容器
exit

//退出但容器不停止
ctrl + p + q

3.11、文件拷贝
//从容器内拷贝文件到宿主机
docker cp 容器ID/容器名称:容器内目录/文件的绝对路径 宿主机目录/文件的绝对路径

//从宿主机中拷贝文件到容器内
docker cp 宿主机目录/文件的绝对路径 容器ID/容器名称:容器内目录/文件的绝对路径

3.12、查看docker logs容器命令的帮助文档
docker logs --help


docker logs相关命令的主要用法为: docker logs [OPTIONS]CONTAINER,即 docker ps [docker容器命令选项] 容器,中括号[]表示该命令选项 可选可不选

常用的docker logs容器命令选项有:

-f :显示最新的打印日志

-t:显示时间戳

--tail 数字:显示最后多少条日志


docker logs常用命令:

//查看容器日志并显示时间戳
docker logs -t 容器ID/容器名称

//持续输出容器日志
docker logs -f 容器ID/容器名称

//查看最后n条容器日志
docker logs --tail n 容器ID/容器名称

3.13、查看容器日志
docker logs -f -t 容器ID/容器名称





Docker入门到实践系列文章列表:

Docker入门到实践 (一) docker简介与安装
Docker入门到实践 (二) docker常用命令讲解
Docker入门到实践 (三) Dockerfile解析与镜像制作
Docker入门到实践 (四) docker容器数据卷与数据卷容器
Docker入门到实践 (五) docker数据的备份、恢复与迁移
Docker入门到实践 (六) docker网络模式详解以及容器间的网络通信
Docker入门到实践 (七) docker常用软件的安装
Docker入门到实践 (八) 本地镜像推送到阿里云 和 下载镜像到本地
Docker入门到实践 (九) docker可视化界面portainer的安装与使用
Docker入门到实践 (十) IDEA集成Docker构建容器镜像,部署项目
Docker入门到实践 (十一) docker私有仓库的搭建与配置
Docker入门到实践 (十二) docker compose简介与安装
Docker入门到实践 (十三) docker compose配置文件与常用命令讲解
Docker入门到实践 (十四) docker企业级容器镜像仓库HarBor的搭建与配置




  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值