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


一、前言

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

docker的主要用法为: docker [OPTIONS] COMMAND,即 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 run tomcat,docker 将默认使用 tomcat:latest 镜像,即docker run 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:显示完整的镜像信息

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镜像命令选项] TERM,中括号[]表示该命令选项 可选可不选

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

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

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

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 -qa)



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:查看已停止的容器

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

docker ps


CONTAINER ID:容器ID

IMAGE:镜像

COMMAND:命令

CREATED:创建时间

STATUS:启动时长

PORTS:端口映射

NAMES:容器名称

3.5、退出容器

//退出并停止容器
exit

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

3.6、容器启动与停止

//启动容器
docker start 容器ID/容器名称

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

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

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

3.7、删除容器

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

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

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



3.8、查看容器内部运行的进程

docker top 容器ID/容器名称



3.9、查看容器内部元信息

docker inspect 容器ID/容器名称



3.10、文件拷贝

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

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

3.11、进入正在运行的容器内并以命令行交互

前面说过,使用快捷键ctrl + p + q 可以退出但容器不停止,那么该如何重新进入容器呢?请使用以下命令

//以exec方式进入到容器
docker exec -it 容器ID/容器名称 /bin/bash

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

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

exec 与 attach的区别:

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

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

docker logs --help


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

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

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

-t:显示时间戳

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


3.13、查看容器日志

docker logs -f -t 容器ID/容器名称





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

Docker入门到实践 (一) docker简介与安装
Docker入门到实践 (二) docker常用命令讲解
Docker入门到实践 (三) Dockerfile解析与镜像制作
Docker入门到实践 (四) docker容器数据卷与数据卷容器
Docker入门到实践 (五) docker数据的备份、恢复与迁移
Docker入门到实践 (六) docker常用软件安装
Docker入门到实践 (七) 本地镜像推送到阿里云 和 下载镜像到本地
Docker入门到实践 (八) Docker私有仓库的搭建与配置
Docker入门到实践 (九) IDEA集成Docker构建容器镜像,部署项目




                   如果有遇到不懂或者有问题时,可以扫描下方二维码,欢迎进群交流与分享,希望能够跟大家交流学习!

发布了76 篇原创文章 · 获赞 253 · 访问量 43万+

猜你喜欢

转载自blog.csdn.net/qq_39135287/article/details/102955902