【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,一经查实,立即删除!

相关文章

如何离线下载 Microsoft Corporation II Windows Subsystem for Android

在本文中,我们将指导您通过一个便捷的步骤来离线下载 Microsoft Corporation II Windows Subsystem for Android。这个过程将利用第三方工具来生成直接下载链接,从而让您能够获取该应用程序的安装包,即使在没有访问Microsoft Store的情况下也…

ChatGLM2-6b的本地部署

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

HTTP常见响应状态码

1xx:正在处理中 100 Continue:服务器确认收到了请求的第一部分,并告知客户端继续发送剩余的请求。 101 Switching Protocols:服务器根据客户端的请求,同意切换到另一个协议。 2xx:成功响应 200 OK&#…

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…

最小二乘法-拟合平面方程

背景 通常有这样的需求 给你一些点,拟合出最佳直线或者拟合出最佳平面。本文介绍的是最小二乘法 最小二乘法 最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求…

Linux | 标准IO编程

Linux | 标准IO编程 时间:2024年6月8日23:03:43 文章目录 `Linux` | 标准`IO`编程1.标准`IO`编程1-1.流的打开1-2.流的关闭1-3.错误处理函数原型perror参数功能返回值使用示例注意事项额外信息函数原型strerror参数返回值使用示例注意事项errno 变量总结1-4.流的读写1-4-1.按字…

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

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

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

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

c++【入门】已知一个圆的半径,求解该圆的面积和周长?

限制 时间限制 : 1 秒 内存限制 : 128 MB 已知一个圆的半径,求解该圆的面积和周长 输入 输入只有一行,只有1个整数。 输出 输出只有两行,一行面积,一行周长。(保留两位小数)。 令pi3.1415926 样例…

图论第8天

685.冗余连接II 这题需要考虑两种情况&#xff1a; 1.两个输入 2.没有两个输入就是有成环 class Solution { public:static const int N 1005;int father[N];int n;void init(){for (int i 0; i < n; i){father[i] i;}}int find(int x){return x father[x] ? x : f…

Python——用新字符替换字符串中的旧字符

替换方法&#xff1a; string.replace&#xff08;old&#xff0c;new [&#xff0c;count]&#xff09;参考文章&#xff1a; Python程序用特定字符替换字符串中的空格

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

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

【C/C++】相机标定

参考文章 相机标定&#xff08;Camera calibration&#xff09;原理、步

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

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

Windows下使用netty的SelfSignedCertificate进行SSL加密通信

在使用netty的时候&#xff0c;经常需要对通信进行SSL加密&#xff0c;这就需要相关的证书和秘钥&#xff1b; 当我们在自己的开发环境中进行测试的时候&#xff0c;有一个非常简单的方法来创建证书和私钥文件&#xff0c;netty提供了SelfSignedCertificate类。 SelfSignedCer…

UG12编程怎么没有:深度解析与困惑探寻

UG12编程怎么没有&#xff1a;深度解析与困惑探寻 UG12编程作为现代制造业的重要工具&#xff0c;其应用广泛且功能强大。然而&#xff0c;对于初学者或某些特定需求的用户来说&#xff0c;有时可能会遇到“UG12编程怎么没有”的困惑。这种困惑可能源于软件功能的不熟悉、操作…

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

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