【SpringCloud学习笔记】Docker(上篇)

Docker

1. 前置准备

在学习Docker之前我们需要具备以下环境:

  • Linux云服务器 / 虚拟机
  • 安装并配置Docker环境(命令行中输入docker -v能够显示对应版本证明安装成功)

2. 快速入门

要求:
我们先来尝试使用Docker创建MySQL服务,命令如下:

docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
mysql

其中各个选项的含义如下:

  • docker run -d:表示创建并运行一个容器,并且使用后台进程的方式运行(daemon)
  • --name:给该容器取一个名称,只要不与别的容器名冲突即可
  • -p:指定端口映射,即将宿主机端口映射到容器内部端口,格式为:宿主机端口:容器内端口
  • -e TZ=Asia/Shanghai-e即environment环境,格式为:-e key=value,此处设置时区
  • -e MYSQL_ROOT_PASSWORD=123:此处表示设置MySQL的默认密码
  • mysql:设置镜像名称,docker就会根据这个名字来搜索并下载镜像,格式为REPOSITORY:TAG,例如mysql:8.0,未指定TAG默认为latest

如果我们需要安装其他软件,则可以到DockerRepository网站中进行查找与配置

Docker仓库网站:https://hub.docker.com/

3. 常见命令

下面我们就来介绍一下Docker的常见命令,本次只介绍部分常用命令,更多更全的命令请查阅官方文档:

Docker官方文档:https://docs.docker.com/

3.1 命令介绍

命令说明
docker push向远程仓库推送镜像
docker pull拉取镜像
docker images查看本地镜像
docker rmi删除本地镜像
docker save保存镜像到本地压缩文件
docker load加载本地压缩文件到镜像
docker run创建并运行容器
docker start启动已经关闭的容器
docker stop停止正在运行的容器
docker restart重新启动容器
docker rm删除指定容器
docker logs查看容器日志
docker ps查看容器进程运行情况
docker exec进入容器
docker inspect查看容器详细信息

上述常见命令及其关系我们可以用下图表示:

3.2 实操练习

下面我们就通过一个案例来练习上述命令:
image.png

  1. 拉取Nginx镜像:

命令:docker pull nginx

  1. 查看本地镜像列表:

命令:docker images
image.png

  1. 创建并运行Nginx容器:

命令:

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

image.png

  1. 查看容器:

命令:docker inspect nginx

  1. 停止容器:

命令:docker stop nginx
image.png

  1. 再次启动容器:

命令:docker restart nginx
image.png

  1. 进入Nginx容器:

命令:docker exec -it nginx bash
image.png

  1. 删除容器:

命令:docker rm -f nginx
image.png

3. 数据卷

我们先来看一个需求,体会数据卷的必要性:
image.png
我们可以查阅docker hub上关于nginx的镜像,得知html所在目录为:/usr/share/nginx/html,此时我们使用命令docker exec -it nginx bash进入容器,使用vim编辑器打开index.html发现报错:找不到命令vim,这是因为docker模拟运行环境时只会模拟必要的,因此vim等编辑器不是自带的!这时有两种解决方法:

  1. 安装vim编辑器(不推荐×)
  2. 借助数据卷

**数据卷:**docker中的volumn(数据卷)是一个虚拟目录,是宿主机目录与容器内部目录映射的桥梁
数据卷相关命令:

命令说明
docker volume create创建数据卷
docker volume ls查看所有数据卷
docker volume rm删除指定数据卷
docker volumn inspect查看某个具体数据卷
docker volume prune清除数据卷

注意:已经创建好的容器是无法挂载数据卷的,因此我们需要在创建容器即(docker run)时指定挂载目录,如果对应数据卷不存在则自动创建!

挂载数据卷命令:

docker run -d \
--name nginx \
-p 80:80 \
-v html:/usr/share/nginx/html \
nginx

image.png
此时我们可以查看挂载信息:docker volume inspect nginx
image.png
此时宿主机目录( /var/lib/docker/volumes/html/_data)与容器内部目录(/usr/share/nginx/html)就建立了双向绑定关系,修改宿主机目录下的文件,容器内文件同样生效!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/24671.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGLM2-6b的本地部署

** 大模型玩了一段时间了,一直没有记录,借假期记录下来 ** ChatGlm2介绍: chatglm2是清华大学发布的中英文双语对话模型,具备强大的问答和对话功能,拥有长达32K的上下文,可以输出比较长的文本。6b的训练参…

pycharm使用pip安装依赖包报错 -----Microsoft Visual C++ 14.0 is required解决方法

pip安装第三方库的时候会报错:需要Microsoft Visual C14.0或更高版本。 报错原因 因为pip所安装的包需要使用C编译后才能够正常安装,但是当前安装环境中缺少完整的C编译环境,因此安装失败。 这样解决方案就很明确了,安装完整的C编…

【学习笔记】解决 VMware Workstation 17 Player 和主机之间无法复制粘贴的问题

【学习笔记】解决 VMware Workstation 17 Player 和主机之间无法复制粘贴的问题 使用VMware Workstation 17 Player,再上面安装 Ubuntu ,安装完之后,需要和主机之间进行复制粘贴。 首先安装了VMware Tools。 在打开的页面下把 VMwareTools…

c++【入门】正多边形每个内角的度数

限制 时间限制 : 1 秒 内存限制 : 128 MB 题目 根据多边形内角和定理,正多边形内角和等于:(n - 2)180(n大于等于3且n为整数)(如下图所示是三角形、四边形、五边形、六边形的形状&#xff09…

Stable Diffusion WebUI 各操作系统安装教程

最近几天在 2 台 Mac、2 台 PC、一台云无 GPU 的 Linux 安装了 Stable Diffusion WebUI,这里记录下如何安装,以及一些注意点和坑。 以下内容针对 Windows(N 卡)、MacOS(m 系列芯片)、Linux(Ubu…

【国产NI替代】SMU 源测量仪:源测量单元平台主要用于半导体、传感器、模组等 IVR 测试测量

• 集 5 台仪器 (数字万用表、电压源、电流源、电子负载和脉冲发生器) 功能于⼀体 • 典型输出源及测量精度 02%,支持直流/脉冲输出模式 • 脉冲输出模式,最⼩脉冲宽度 100 us ,上升时间 10 us • 具有 pA 级分辨率高精度源,且…

【Python机器学习】PCA——特征提取(1)

PCA的一个重要应用是特征提取。特征提取背后的思想是,可以找到一种数据表示,比给定的原始表示更适合于分析。特征提取很有用,它的一个很好的应用实例就是图像。图像由像素组成,通常存储于红绿蓝强度。图像中的对象通常由上千个像素…

变声器软件免费版有哪些?国内外12大热门变声器大盘点!(新)

变声软件是一种人工智能AI音频处理工具,允许用户实时修改自己的声音或改变预先录制的音频。这些软件解决方案可提供不同的效果,如改变声音的音调或速度,或将我们的声音转换成其他人或其他东西的声音,如名人、卡通人物、机器人或不…

WinForms 应用(.NET 8.0)使用ReportViewerCore.WinForms显示打印RDLC报表

在要WinForms 应用(.NET 8.0)中,显示RDLC报表,就要使用ReportViewerCore.WinForms。原来的ReportViewer只能在.NET Framework框架下运行。 1.ReportViewerCore.WinForms 程序包说明 SQL Server Reporting Services ReportViewer…

[stm32]——uc/OS-III多任务程序

目录 一、获取uC/OS-III源码 二、移植源代码 (1)建立工程文件 (2)移植uC/OS-III源码 (3)添加工程组件和头文件路径 (4)添加头文件路径 三、修改代码 总结 一、获取uC/OS-III源码 …

【Vue】声明式导航-自定义类名(了解)

问题 router-link的两个高亮类名 太长了,我们希望能定制怎么办 解决方案 我们可以在创建路由对象时,额外配置两个配置项即可。 linkActiveClass和linkExactActiveClass const router new VueRouter({routes: [...],linkActiveClass: "类名1&quo…

【中篇】从 YOLOv1 到 YOLOv8 的 YOLO 物体检测模型历史

YOLO 型号之所以闻名遐迩,主要有两个原因:其速度和准确性令人印象深刻,而且能够快速、可靠地检测图像中的物体。上回我解释了Yolo v1, 今天从Yolov2开始。 YOLOv2:更好、更快、更强 2017 年 7 月一个闷热的星期二下午,雷德蒙(Joseph Redmon, Yolo创始人)再次走上舞台。 …

Android gradle kts 8.0以上版本配置签名和修改APK输出名字

目录 概述修改签名配置新建签名文件目录配置签名信息使用签名信息打包 修改APK名称 概述 之前写过一篇文章是通过Kotlin的Dsl结合gradle编写的插件来管理项目依赖,我是从一个开源项目叫DanDanPlayAndroid项目上学到的,那时还没有使用toml文件来管理项目…

【CS.SE】使用 docker pull confluentinc/cp-kafka 的全面指南

文章目录 1 引言2 准备工作2.1 安装 Docker2.1.1 在 Linux 上安装 Docker2.1.2 在 macOS 上安装 Docker2.1.3 在 Windows 上安装 Docker 2.2 验证 Docker 安装 3 拉取 confluentinc/cp-kafka Docker 镜像3.1 拉取镜像3.2 验证镜像 4 运行 Kafka 容器4.1 启动 ZooKeeper4.2 启动…

【原创】springboot+mysql农业园区管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

公差基础(互换性和测量基础)

互换性概念: 图纸设计是理论的,理性的,没有误差的,但是实际上加工上市有误差的。 所以说,实际加工出来的零件是否符合要求,我们需要对图纸上的尺寸精度,几何精度,表面粗糙度进行说明…

STM32关于uc/OS-III的多任务程序

目录 一、UCOS-III源码获取 二、HAL库工程的建立 1.RCC配置 2.SYS配置 3.USART1配置 4.GPIO配置 5.时钟配置 6.项目配置 三、KEil文件添加 1.文件复制 2.KEil工程添加 3.添加文件路径 四、代码修改 1. 2.修改文件app_cfg.h中代码 3.修改include.h的代码 4.修改…

【传知代码】DETR[端到端目标检测](论文复现)

前言:想象一下,当自动驾驶汽车行驶在繁忙的街道上,DETR能够实时识别出道路上的行人、车辆、交通标志等目标,并准确预测出它们的位置和轨迹。这对于提高自动驾驶的安全性、减少交通事故具有重要意义。同样,在安防监控、…

APP开发技术的变迁史

随着移动互联网的迅猛发展,APP(应用程序)已经成为人们日常生活中不可或缺的一部分。从最初的简单工具到如今的智能平台,APP开发技术在这十年间经历了翻天覆地的变化。本文将从多个维度探讨近十年来APP开发技术的变迁史&#xff0c…

【Python学习路线(课程大纲+Python视频教程+下载地址)_python 教程下载。】

目前Python已经成为最受欢迎的程序设计语言之一。Python的设计哲学是“优雅”、“明确”、“简单”。 学习Python具有多重显著的好处。首先,Python的语法简洁易读,降低了编程的入门门槛,使初学者能够更快地掌握编程的基本概念。其次&#xff…