瑞_Docker(笔记超详细,有这一篇就够了)

文章目录

    • 1 Docker入门
      • 1.1 卸载旧版Docker
      • 1.2 安装Docker
        • 1.2.1 安装Docker的yum库
        • 1.2.2 配置Docker的yum源
        • 1.2.3 安装Docker
        • 1.2.4 启动和校验(开机自启)
        • 1.2.5 配置镜像加速
      • 1.3 使用示例:部署MySQL
        • 1.3.1 命令解读
    • 2 Docker基础
      • 2.1 常见命令
        • 2.1.1 命令介绍
        • 2.1.2 演示
        • 2.1.3 命令别名
      • 2.2 数据卷
        • 2.2.1 什么是数据卷
        • 2.2.2 数据卷命令
        • 2.2.3 挂载本地目录活文件
      • 2.3 镜像
        • 2.3.1 镜像结构
        • 2.3.2 Dockerfile
        • 2.3.3 构建镜像
      • 2.4 网络
    • 3 项目部署
      • 3.1 部署Java项目
      • 3.2 部署前端
      • 3.3 DockerCompose
        • 3.3.1 基本语法
        • 3.3.2 基础命令
    • 一键部署
      • MySQL
      • Nginx

🙊 前言:本文章为瑞_系列专栏之《Docker》的整合篇。由于博主是从B站黑马程序员的《Docker》学习其相关知识,所以本系列专栏主要是针对该课程进行笔记总结和拓展,文中的部分原理及图解等也是来源于黑马提供的资料,特此注明。本文仅供大家交流、学习及研究使用,禁止用于商业用途,违者必究!

需要具备 Linux 基础知识、需安装 VMware 和 CentOS 7 64位
安装 MobaXterm 可参考:《瑞_Java所有相关环境及软件的安装和卸载》
安装 CentOS 可参考:《瑞_VMware虚拟机安装Linux纯净版(含卸载,图文超详细)》

瑞&3l

1 Docker入门

瑞:Docker是快速构建、运行、管理应用的工具。Docker是一种轻量级的容器化平台,它允许开发者将应用程序及其依赖打包成一个可移植的容器,在任何环境中运行

  《Docker》是微服务在企业落地的最后一块拼图。微服务项目由于拆分粒度细,服务部署环境复杂,部署实例很多,维护困难。而Docker则可以解决项目部署的各种环境问题,让开发、运维一体化,真正实现持续集成、持续部署。大大提高企业项目开发到部署的效率。

  为什么推荐使用 Docker ?

  在 Linux 上部署一个单体项目,相信大家最大的感受就是:麻烦。核心体现为三点:

  • 命令太多了,记不住
  • 软件安装包名字复杂,不知道去哪里找
  • 安装和部署步骤复杂,容易出错

  但是!如果使用 Docker 进行安装,只需要一条命令 + 回车即可,Docker 会自动实现下载、安装、配置的完整流程,直接一条龙服务,一键部署,极大提高项目部署效率。即便你对Linux不熟悉,你也能轻松部署各种常见软件、Java项目。

1.1 卸载旧版Docker

瑞:在安装前请将历史安装版本进行彻底卸载,否则很可能导致安装失败。

  在 Linux 系统中执行如下指令

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

  如果执行后显示“不删除任何软件包”,说明本地没有安装Docker,可以直接开始安装

在这里插入图片描述

瑞:博主使用的SSH客户端远程连接工具是 MobaXterm,有需要的小伙伴可以参考《瑞_Java所有相关环境及软件的安装和卸载》

1.2 安装Docker

  官方安装教程(英文):https://docs.docker.com/engine/install/centos/

1.2.1 安装Docker的yum库

  在 Linux 系统中执行如下指令,安装yum工具

yum install -y yum-utils

  执行该命令后需要等待一段时间,看到如下图所示出现“完毕!”则表示安装yum成功

在这里插入图片描述

1.2.2 配置Docker的yum源

  安装成功后,执行以下命令,配置Docker的yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

在这里插入图片描述

1.2.3 安装Docker

瑞:注意前面章节的yum步骤是不能跳过的

  执行命令,安装Docker

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  执行该命令后需要等待一段时间,看到如下图所示出现“完毕!”则表示安装Docker成功

在这里插入图片描述

  可以执行docker -v命令测试是否安装成功

在这里插入图片描述

1.2.4 启动和校验(开机自启)
# 启动Docker
systemctl start docker# 停止Docker
systemctl stop docker# 重启
systemctl restart docker# 设置开机自启
systemctl enable docker# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

  启动Docker后,执行docker images命令或者docker ps,如果出现如下图的结果则证明Docker的安装真正成功了

在这里插入图片描述

瑞:建议执行systemctl enable docker设置开机自启

在这里插入图片描述

1.2.5 配置镜像加速

瑞:使用Docker安装和部署应用的时候需要下载,下载源默认是在国外比较慢,所以我们需要配置国内镜像加速,本文以阿里云镜像加速为例

  1️⃣ 注册账号

  在阿里云官方网站中注册一个账号:https://www.aliyun.com/

  2️⃣ 开通镜像服务

  在阿里云官方网站首页的产品中,找到阿里云的容器镜像服务ACR

在这里插入图片描述

  3️⃣ 点击“管理控制台”(首次可能需要选择立刻开通,然后进入控制台)

在这里插入图片描述

  4️⃣ 配置镜像加速,找到镜像工具下的镜像加速器

在这里插入图片描述

  5️⃣ 将页面向下滚动,即可找到配置加速器的操作文档,选择CentOS,根据操作文档说明依次执行命令

在这里插入图片描述

  具体命令如下

# 创建目录
mkdir -p /etc/docker# 复制内容,注意把其中的镜像加速地址改成你自己的
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF# 重新加载配置
systemctl daemon-reload# 重启Docker
systemctl restart docker

在这里插入图片描述


Docker 安装结束

1.3 使用示例:部署MySQL

  首先,我们利用Docker来安装一个MySQL软件,大家可以对比一下之前传统的安装方式,看看哪个效率更高一些。

  如果是利用传统方式部署MySQL,大概的步骤有

  • 搜索并下载MySQL安装包
  • 上传至Linux环境
  • 编译和配置环境
  • 安装

  而使用Docker安装,仅仅需要一步即可,在命令行输入下面的命令(建议采用CV大法)⬇️

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

  执行命令后等待安装即可,如下图

在这里插入图片描述
  MySQL安装完毕!通过任意客户端工具即可连接到MySQL,博主使用navicat premium 连接如下(注意密码是刚刚设置的123456)

在这里插入图片描述

1.3.1 命令解读

  等待更新…




2 Docker基础

  等待更新…

2.1 常见命令

2.1.1 命令介绍
2.1.2 演示
2.1.3 命令别名

2.2 数据卷

2.2.1 什么是数据卷
2.2.2 数据卷命令
2.2.3 挂载本地目录活文件

2.3 镜像

2.3.1 镜像结构
2.3.2 Dockerfile
2.3.3 构建镜像

2.4 网络




3 项目部署

  等待更新…

3.1 部署Java项目

  等待更新…

3.2 部署前端

  等待更新…

3.3 DockerCompose

  等待更新…

3.3.1 基本语法
3.3.2 基础命令



一键部署

--restart=always
  docker run 的时候设置就会随着 docker 启动而启动

MySQL

docker run -d \--name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123456 \-v ./mysql/data:/var/lib/mysql \-v ./mysql/conf:/etc/mysql/conf.d \-v ./mysql/init:/docker-entrypoint-initdb.d \--restart=always \--network raymysql

Nginx

docker run --name mn -p 80:80 --restart=always -d nginx

  创建容器并挂载数据卷到容器内的html目录

docker run --name nginx-v html:/usr/share/nginx/html -p 80:80 --restart=always -d nginx

命令解释:

  • docker run 启动一个镜像
  • -d 表示后台允许
  • –name nginx01 表示为当前容器起一个别名
  • -p 8050:80 表示将本机的8050端口映射到nginx镜像的80端口


本文参考黑马的笔记:https://b11et3un53m.feishu.cn/wiki/MWQIw4Zvhil0I5ktPHwcoqZdnec




本文是博主的粗浅理解,可能存在一些错误或不完善之处,如有遗漏或错误欢迎各位补充,谢谢

  如果觉得这篇文章对您有所帮助的话,请动动小手点波关注💗,你的点赞👍收藏⭐️转发🔗评论📝都是对博主最好的支持~


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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

第二届 eBPF 开发者大会分享回顾 - Pipy 与 eBPF:重塑系统级编程的新范式

四月的西安&#xff0c;春意盎然&#xff0c;这座古城在温暖的春风中更添了几分旖旎风光。第二届 eBPF 开发者大会在西安顺利召开。 本次大会由西安邮电大学主办&#xff0c;主题为“发挥 eBPF 技术力量&#xff0c;提升计算机系统可观测性和性能”&#xff0c;旨在探讨和分享 …

世界读书日 | 开发者必读书单重磅来袭,华为云DTSE专家天团力荐

春色恰如许&#xff0c;读书正当时。 读书&#xff0c;就像解锁一把神秘钥匙&#xff0c;为开发者洞开新世界的大门&#xff0c;赋予他们破译复杂难题的能力、挑战未知领域的勇气。书页翻动间&#xff0c;开发者得以站在巨人的肩膀上&#xff0c;汲取前人经验&#xff0c;积蓄…

比特币之路:技术突破、创新思维与领军人物

比特币的兴起是一段充满技术突破、创新思维和领军人物的传奇之路。在这篇文章中&#xff0c;我们将探讨比特币发展的历程&#xff0c;以及那些在这一过程中发挥重要作用的关键人物。 技术突破与前奏 比特币的诞生并非凭空而来&#xff0c;而是建立在先前的技术储备之上。在密码…

自定义数据 微调CLIP (结合paper)

CLIP 是 Contrastive Language-Image Pre-training 的缩写&#xff0c;是一个擅长理解文本和图像之间关系的模型&#xff0c;下面是一个简单的介绍&#xff1a; 优点&#xff1a; CLIP 在零样本学习方面特别强大&#xff0c;它可以&#xff08;用自然语言&#xff09;给出图像…

lementui el-menu侧边栏占满高度且不超出视口

做了几次老是忘记&#xff0c;这次整理好逻辑做个笔记方便重复利用&#xff1b; 问题&#xff1a;elementui的侧边栏是占不满高度的&#xff1b;但是使用100vh又会超出视口高度不美观&#xff1b; 解决办法&#xff1a; 1.获取到侧边栏底部到视口顶部的距离 2.获取到视口的高…

操作系统:进程间通信 | 管道

目录 1.进程间通信介绍 1.1.简要介绍 1.2.进程间通信的目的 1.3.进程间通信的本质 2.管道 2.1.管道的通信原理 2.2.匿名管道 2.3.命名管道 2.4.基于匿名管道的进程池demo 2.4.1.进程池的相关引入 2.4.2.整体框架的分析 2.4.3.代码的实现 1.进程间通信介绍 1.1.简…

华为认证FAQ | 考试预约、考券购买常见问题

●考试预约常见问题● Q : 如何进行考试预约&#xff1f; A : 登录“华为人才在线官网” >>参考考试预约操作指引在线预约考试>>检查考试预约记录&#xff0c;确认预约成功 (私信获取考试预约操作指引文档&#xff09;。&#xff08;注&#xff1a;非本人预约…

程序员学CFA——数量分析方法(四)

数量分析方法&#xff08;四&#xff09; 常见概率分布基本概念离散型随机变量与连续型随机变量离散型随机变量连续型随机变量 分布函数概率密度函数&#xff08;PDF&#xff09;累积分布函数&#xff08;CDF&#xff09; 离散分布离散均匀分布伯努利分布二项分布定义股价二叉树…

程序的表示、转换与链接:三、运算电路基础

目录 一、整数加减运算理论二、数字逻辑电路基础和整数加减运算部件三、如何启用逻辑电路&#xff1a;从C表达式到逻辑电路四、C语言中的各类运算 一、整数加减运算理论 整数加减运算 无符号整数加减运算&#xff1a;指针、地址等通常被说明为无符号整数&#xff0c;因而在进行…

pycharm远程连接server

1.工具–部署–配置 2.部署完成后&#xff0c;将现有的项目的解释器设置为ssh 解释器。实现在远端开发 解释器可以使用/usr/bin/python3

Opencv_10_自带颜色表操作

void color_style(Mat& image); Opencv_10_自带颜色表操作&#xff1a; void ColorInvert::color_style(Mat& image) { int colormap[] { COLORMAP_AUTUMN, COLORMAP_BONE , COLORMAP_JET , COLORMAP_WINTER, COLORMAP_RAINBOW , COLOR…

Ts支持哪些类型和类型运算(下)

目录 1、条件判断 &#xff08;extends &#xff1f;&#xff09; 2、推导 infer 3、联合 | 4、交叉 & 5、映射类型 1、条件判断 &#xff08;extends &#xff1f;&#xff09; ts里的条件判断&#xff0c;语法为 T extends XXX ? true : false &#xff0c;叫做…

【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Check Box的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 按钮类控件 | Check Box的使用及说明 文章编号&#xff…

智能时代 | 合合信息Embedding模型荣获C-MTEB榜单第一

目录 前言 1. MTEB与C-MTEB 2. acge模型的优势 3. Embedding模型应用 4. 大模型发展的关键技术 结语 前言 随着人工智能的不断发展&#xff0c;大语言模型吸引着社会各界的广泛关注&#xff0c;支撑模型应用落地的Embedding模型成为业内的焦点&#xff0c;大模型的发展给…

解放生产力:项目管理软件的神奇作用大揭秘!

对于刚刚进入项目管理领域的新人首先要了解的概念就是项目管理软件是什么&#xff1f;项目管理软件的作用&#xff0c;如今的项目管理软件已经非常成熟&#xff0c;融合了一整套的项目管理理论&#xff0c;在管理项目进度、管理工时、团队协同方面发挥着重要作用。 一、项目管理…

vue 关键字变红

1.html <div v-html"replaceKeywordColor(item.title)" ></div> 2.js //value为搜索框内绑定的值 replaceKeywordColor(val) {if (val?.includes(this.value) && this.value ! ) {return val.replace(this.value,<font color"red&…

游戏黑灰产识别和溯源取证

参考&#xff1a;游戏黑灰产识别和溯源取证 1. 游戏中的黑灰产 1. 黑灰产简介 黑色产业&#xff1a;从事具有违法性活动且以此来牟取利润的产业&#xff1b; 灰色产业&#xff1a;不明显触犯法律和违背道德&#xff0c;游走于法律和道德边缘&#xff0c;以打擦边球的方式为“…

【C++】类和对象④(类的默认成员函数:取地址及const取地址重载 | 再谈构造函数:初始化列表,隐式类型转换,缺省值)

&#x1f525;个人主页&#xff1a;Forcible Bug Maker &#x1f525;专栏&#xff1a;C 目录 前言 取地址及const取地址操作符重载 再谈构造函数 初始化列表 隐式类型转换 explicit关键字 成员变量缺省值 结语 前言 本篇主要内容&#xff1a;类的六个默认成员函数中…

Stable Diffusion 模型分享:_CHEYENNE_(欧美漫画)CHEYENNE_v16.safetensors

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八下载地址模型介绍<

吉林省教育学院学报杂志社吉林省教育学院学报编辑部2024年第3期目录

特稿《吉林省教育学院学报》投稿&#xff1a;cn7kantougao163.com 吉林省2023年初中毕业学业水平考试评价与分析报告 Junior High School Teaching Research and Training Department, Jilin Provincial Institute of Education; 1-25 基于吉林省图书馆专利数据资源的吉…