【Docker】微服务学习笔记五:Docker常用命令解析

本文涉及的产品
云原生网关 MSE Higress,422元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 【Docker】微服务学习笔记五:Docker常用命令解析

一:引入

  在介绍Docker镜像相关命令之前我们先认识一下镜像的名称组成,镜像名称组成一般分为两部分:[repository]:[tag],前面代表镜像名称,后面代表镜像版本,比如MySqk:5.7,在没有指定tag时候,默认是lastest,代表最新版本。

Docker镜像常用命令有以下6个(参考下图):

  • docker images
  • docker rmi
  • docker pull
  • docker push
  • docker save
  • docker load

这6个命令的功能见下图

Docker容器相关命令主要有以下9个:

  • docker run
  • docker pause
  • docker unpause
  • docker stop
  • docker start
  • docker exec
  • docker logs
  • docker ps
  • docker rm

这9个命令的功能见下图

二:Docker镜像常用命令演示

1.镜像拉取

  通常我们都会去DockerHub官网进行镜像的拉取,进入官网之后,比如说我要拉取nginx的镜像,我就可以在上方搜索nginx

选择官方镜像

  点击进去之后在右边会出现一个命令docker pull nginx,执行这个命令拉去的是最新版,当然我们也可以自定义版本,也就是执行docker pull nginx:xx,下面我演示的是拉取最新版本:

查看系统中的镜像(docker images)

可以看到拉取到的是最新版本

2.保存&加载镜像

  我们可以从本地镜像仓库中将镜像保存下来打包发送,这里说明一下,假如你不知道某个命令如何使用,那么你就可以查看帮助文档,命令为docker xx --help,这里演示如何通过帮助文档查看docker save的介绍:

可以看到save命令的格式为docker save [OPTIONS] IMAGE [IMAGE…],下面执行这个命令

可以看到成功将nginx镜像下载到本地

那么如何将本地镜像加载到镜像仓库呢?首先我先将原来的镜像卸载(docker rmi image:tag)

可以看到成功将本地镜像仓库中的nginx镜像卸载了,接下来进行镜像加载

可以看到镜像成功加载

三:Docker容器常用命令

1.启动容器

docker run --name containerName -p 80:80 -d nginx

命令解读:

  • docker run:创建并运行一个容器
  • –name:给容器起一个名字,比如叫做ng
  • -p:将宿主机端口与容器端口进行映射,冒号左边是宿主机端口,冒号右边是容器端口
  • -d:后台运行容器
  • nginx:镜像名称

补充:

  为什么需要端口映射呢?因为假如你直接去访问容器时访问不了的,因为前面说过容器是被隔绝起来的,要想访问就必须通过端口进行映射,所谓端口映射通俗来说就是当我们想要访问容器的80端口时候你就可以通过访问宿主机的80端口然后宿主机再将该请求映射到容器的80端口达到让用户可以访问。

-d的意思就是当我们关闭窗口后容器的服务程序仍还在运行中的,相当于在后台运行。

执行docker run

返回的是容器的唯一id

2.查看容器状态及日志

可以看到有一个容器正在运行,下面尝试访问nginx

可以看到成功访问到nginx

输入命令docker logs -f ng

可以看到输出一堆日志信息,假如你要持续输出日志,你可以执行这个命令docker logs -f ng,当然后面那个参数是你的容器名字。

3.进入容器修改文件

  通过Docker的exec命令可以进入到容器里面对容器的文件进行修改,以我上面创建的ngnix为例,可执行docker exec -it ng bash进入该容器内部,命令解读:

  • docker exec:进入容器内部,执行一个命令
  • -it:给当前进入容器创建一个标准输入、输出终端,允许我们与容器进行交互
  • ng:要进入的容器的名称
  • bash:进入容器后执行的命令,bash是一个linux终端交互命令

  但是不建议通过这样去修改容器文件,因为这样做首先很麻烦,因为容器中只包含必要的函数库和文件,因此进入容器后不能通过vi或者vim命令对文件进行修改;而且通过这样的方式对容器文件进行修改是没有记录的。

4.数据卷操作

  前面提到不建议通过进入容器内部的形式对文件进行修改,那么是否还有更佳的方案呢?答案是肯定的,即通过数据卷来完成这一功能,数据卷可以理解为数据的双向绑定,即将你宿主机的文件和容器中的文件绑定起来,其中一个发生改变另一个都会跟着发生改变。数据卷能够将容器与数据分离,解耦合,方便操作容器内部数据,保证数据安全。

(1)基本语法

数据卷的基本语法如下:

docker volume [COMMAND],常用command命令有:

  • create:创建一个volume
  • inspect:显示一个或多个volume的信息
  • ls:列出所有的volume
  • prune:删除未使用的volume
  • rm:删除一个或多个指定volume

(2)挂载操作

我们在创建容器时候,可以通过-v参数来挂载一个数据卷到某个容器目录,举例如下:

docker run \ //创建容器并运行容器

–name ng \ //给容器起名为ng

-v html:/root/html \ //将html数据卷挂载到容器内部/root/html这个目录中

-p 8080:8080 \ //将宿主机的8080端口映射到容器内的8080端口

nginx //镜像名称

需要注意的是,假如我们没有提前创建好数据卷,那么执行docker run -v时候docker会自动帮我们创建。

相关文章
|
2月前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1609 9
|
1月前
|
存储 Java Linux
【Docker】(2)还在浏览网页寻找Docker命令?本文全面列举与使用Docker里的各个命令!想要什么命令直接从本文拿!
docker有着比VM更少的抽象层 由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源 因此在CPU、内存利用率上Docker将会在效率上有明显优势 docker利用的时宿主机的内核,而不需要加载操作系统OS内核 当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统内核 进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程时分钟级别的。 而Docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个Docker容器只需
341 124
|
4月前
|
安全 Unix Linux
Docker中授权普通用户使用docker命令以及解决无权限访问/var/run/docker.sock错误。
通过上述步骤,可以有效解决普通用户无法使用Docker命令的问题,同时处理 `/var/run/docker.sock`权限错误。这样的设置不仅方便用户使用Docker提供的各项服务,同时还能保护系统的安全性。在进行此类配置更改时,请确保理解每一步骤的作用及潜在的安全风险,尤其是在修改文件权限时。在实际的操作中,始终应该努力保持系统的最低必要权限,避免过度放宽权限,这是保障系统安全的一个重要方针。
1373 75
|
5月前
|
Docker 容器
Docker run命令-p参数详解
本文介绍Docker端口映射的基础用法。通过`docker run -p <宿主机端口>:<容器端口>`实现端口映射,例如`-p 5000:80`将宿主机5000端口映射到容器80端口,外部访问宿主机5000端口时流量会转发至容器内部的80端口。示例命令中,`-d`用于后台运行,`--restart=always`确保容器自动重启,`--name`指定容器名称。部署完成后可通过`http://服务器IP地址:5000`验证服务是否正常运行。
|
4月前
|
Docker 容器
熟悉Docker容器管理命令:start、stop与restart详细使用指南
掌握这些Docker容器管理命令对于维护应用程序的正常运行至关重要。在实际操作中,应注意容器配置、关联资源以及日志等信息,确保各项操作都能够顺畅并且安全地执行。
595 0
|
6月前
|
网络协议 Ubuntu Docker
Docker Compose--命令说明
Docker Compose--命令说明
1100 30
|
6月前
|
Ubuntu Linux 开发者
常用的Docker命令:docker_cmd_sheet
以上就是一些常用的Docker命令,希望能帮助你更好地驾驭这个强大的工具。记住,Docker就像是一个魔法咒语,只有真正理解和熟练使用,才能发挥出它的最大魔力。
158 22
|
6月前
|
Shell 应用服务中间件 nginx
docker 镜像的部分常用命令
docker镜像常用命令
231 16
|
6月前
|
关系型数据库 MySQL Docker
|
6月前
|
关系型数据库 MySQL 数据库
Docker 安装常用软件相关命令
本文介绍了在CentOS 7.9系统上安装Docker的详细步骤,包括添加阿里云镜像源、安装Docker及相关组件、启动服务以及配置镜像加速。同时,还展示了如何通过Docker安装MySQL 5.7版本数据库,涵盖拉取镜像、创建数据目录、运行容器及配置挂载点等操作,并提供验证安装成功的命令和截图。适合需要部署Docker与MySQL环境的用户参考。
368 5

热门文章

最新文章

下一篇
oss云网关配置