CentOS系统上部署Docker,mysql,nginx

news2024/11/29 8:42:00

CentOS7系统上部署Docker,mysql,nginx

未完,持续更新中···

更新软件包索引:

首先,确保你的CentOS系统是最新的。你可以通过运行以下命令来更新你的系统:

yum update

在这里插入图片描述

安装Docker:

CentOS的软件仓库中包含Docker软件包,但可能不是最新版本。为了安装最新版本的Docker,我们将安装Docker的官方仓库,然后从那里安装Docker。运行以下命令来添加Docker的官方仓库,并安装Docker:
在这里插入图片描述

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io

在这里插入图片描述

启动Docker服务:

安装完成后,启动Docker服务,并设置为开机启动:

systemctl start docker
systemctl enable docker

验证Docker安装:

通过运行Hello World镜像来验证Docker是否正确安装:

docker run hello-world

在这里插入图片描述

如果安装正确,你将看到一条消息,说明你的Docker安装正常工作。

运行MySQL容器

  1. 拉取MySQL镜像:
docker pull mysql:5.7

拉取结束后,查看本地是否存在

 docker images

在这里插入图片描述
要删除本机上的所有Docker镜像,你可以使用以下命令:

docker rmi $(docker images -q) -f

这里的命令解释如下:
docker images -q:列出所有镜像的ID。-q参数表示仅显示镜像ID,不显示其他信息。
docker rmi:删除一个或多个镜像。rmi是remove image的缩写。
$(…):命令替换,docker images -q的结果(即所有镜像的ID)将作为docker rmi命令的参数。
-f:强制删除。即使有容器(无论是运行中还是已停止)使用这些镜像,也会将它们删除。

注意:这个命令会删除你机器上的所有Docker镜像,包括那些可能正在使用的镜像。请确保你确实想要这样做,或者已经备份了需要保留的镜像。

如果你只想删除未被任何容器使用的镜像,可以使用清理命令:

docker image prune -a

docker image prune:删除未被任何容器使用的镜像。
-a:表示删除所有未被使用的镜像,
而不仅仅是临时的。
这个命令会在执行前请求确认,你需要输入y来确认操作。如果你想跳过确认,可以添加-f或–force参数。

请谨慎使用这些命令,确保不会删除重要的镜像。

使用docker拉取服务时出现失败的情况

在这里插入图片描述

解决方案:

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker

要验证 MySQL 是否已经安装好并正确运行,你可以执行以下几个简单的步骤:

步骤:

  1. 运行 MySQL 容器:
    使用以下命令来运行 MySQL 5.7 容器,并设置 root 用户的密码:
    在这里插入图片描述
    这里的参数解释如下:
    –name :为你的容器指定一个名称,这里是 root。
    -e MYSQL_ROOT_PASSWORD=123456:设置环境变量 MYSQL_ROOT_PASSWORD,这是必需的,用于指定 root 用户的密码。
    -d:以后台模式运行容器。
    mysql:5.7:指定要运行的镜像和标签。
  2. 查看运行中的容器:
    使用 docker ps 命令来查看当前正在运行的容器:
    在这里插入图片描述3. 连接到 MySQL 容器:
    使用以下命令来连接到正在运行的 MySQL 容器,并进入 MySQL 命令行客户端:
    在这里插入图片描述

问题:之前把容器名称变成了root 我想变成studymysql ,怎么操作?

  1. 停止容器
    首先,停止正在运行的 MySQL 容器。使用以下命令停止容器:
   docker stop root
  1. 重命名容器
    使用 docker rename 命令来将容器名称从 root 修改为 studymysql
  docker rename root studymysql
  1. 启动容器
    重新启动已经重命名的 MySQL 容器 studymysql:
   docker start studymysql
  1. 验证更改
    使用 docker ps 命令检查容器名称是否已成功更改为 studymysql
   docker ps -a

结果验证:够看到容器名称已成功更改为 studymysql,则说明修改操作已经成功完成。
在这里插入图片描述

配置数据持久化和端口映射

  1. 创建数据卷

    • 首先,创建一个数据卷,用于持久化存储MySQL容器中的数据。您可以使用以下命令创建一个数据卷:
      docker volume create mysql_data
      
  2. 运行MySQL容器并配置数据持久化和端口映射

    • 运行MySQL容器时,将数据卷挂载到容器的数据目录,并配置端口映射。例如,运行以下命令:
      docker run -d --name studymysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -v mysql_data:/var/lib/mysql mysql:5.7
      

在这里插入图片描述

  • docker run: 运行一个新的Docker容器。
  • -d: 在后台(detached mode)运行容器。
  • --name studymysql: 为容器指定名称为"studymysql"。
  • -p 3307:3306: 将主机的端口3307映射到容器的端口3306,允许通过主机的3307端口访问MySQL服务。
  • -e MYSQL_ROOT_PASSWORD=123456: 设置MySQL的root用户密码为"123456"。
  • -v mysql_data:/var/lib/mysql: 将名为"mysql_data"的Docker数据卷挂载到容器的/var/lib/mysql目录,用于持久化存储MySQL数据。
  • mysql:5.7: 使用MySQL 5.7的Docker镜像来运行容器。

通过这条命令,您创建了一个名为"studymysql"的MySQL容器,将主机的端口3307映射到容器的端口3306,设置了MySQL的root用户密码为"123456",并将名为"mysql_data"的数据卷挂载到容器的/var/lib/mysql目录,以便持久化存储MySQL数据。

在这里插入图片描述

3.如何让本地环境访问容器中的数据库?

答:给容器中的数据库添加端口映射,不能与虚拟机中的数据库端口重叠。

4.如何让mysql可以使用重启命令service mysql start``service mysql restart
报错:Failed to start mysql.service: Unit not found.
该问题出现在启动 mysql 时,找不到对应的服务
答:手动添加 mysql.server

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start

运行Nginx容器

1.拉取Nginx镜像:

   docker pull nginx

2.运行Nginx容器:
将容器的80端口映射到主机的80端口。

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

-name studynginx: 为容器指定一个名称,这里是"studynginx"。
-d: 在后台运行容器。
-p 80:80: 将主机的80端口映射到容器的80端口,这样可以通过主机的IP地址访问Nginx服务。
nginx: 指定要运行的镜像,这里是Nginx。
在这里插入图片描述
3.访问Nginx:
在浏览器中访问http://192.168.16.129,你应该能看到Nginx的欢迎页面。
在这里插入图片描述

利用Docker安装Kubernetes (Minikube)
安装Kubernetes的一个简单方法是使用Minikube,它是一个轻量级的Kubernetes实现,适合在本地环境进行测试和学习。Minikube可以作为一个虚拟机运行在Docker之上。
安装Minikube:
请参考Minikube的官方安装指南来安装Minikube。
启动Minikube:
使用Docker驱动启动Minikube。

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

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

相关文章

十大开源机器人 智能体

1- Poppy 网址 https://www.poppy-project.org/en/ 2- Nao 网址:https://www.aldebaran.com/en/nao 3- iCub 网址: https://icub.iit.it/

蓝桥杯2024年第十五届省赛真题-R 格式

找到规律后如下&#xff0c;只需要用高精度加法和四舍五入&#xff08;本质也是高精度加法就能做&#xff09;&#xff0c;如果没有找到规律&#xff0c;就得自己写高精度乘法和加法&#xff0c;不熟练很容易错。 //#include<bits/stdc.h> #include<iostream> #i…

【UE5.1】使用MySQL and MariaDB Integration插件——(3)表格形式显示数据

在上一篇&#xff08;【UE5.1】使用MySQL and MariaDB Integration插件——&#xff08;2&#xff09;查询&#xff09;基础上继续实现以表格形式显示查询到的数据的功能 效果 步骤 1. 在“WBP_Query”中将多行文本框替换未网格面板控件&#xff0c;该控件可以用表格形式布局…

论文笔记:Are Human-generated Demonstrations Necessary for In-context Learning?

iclr 2024 reviewer 评分 6668 1 intro 大型语言模型&#xff08;LLMs&#xff09;已显示出在上下文中学习的能力 给定几个带注释的示例作为演示&#xff0c;LLMs 能够为新的测试输入生成输出然而&#xff0c;现行的上下文学习&#xff08;ICL&#xff09;范式仍存在以下明显…

1 回归:锂电池温度预测top2 代码部分(一) Tabnet

2024 iFLYTEK A.I.开发者大赛-讯飞开放平台 TabNet&#xff1a; 模型也是我在这个比赛一个意外收获&#xff0c;这个模型在比赛之中可用。但是需要GPU资源&#xff0c;否则运行真的是太慢了。后面针对这个模型我会写出如何使用的方法策略。 比赛结束后有与其他两位选手聊天&am…

YOLOv9改进策略 | 损失函数篇 | EIoU、SIoU、WIoU、DIoU、FocusIoU等二十余种损失函数

一、本文介绍 这篇文章介绍了YOLOv9的重大改进&#xff0c;特别是在损失函数方面的创新。它不仅包括了多种IoU损失函数的改进和变体&#xff0c;如SIoU、WIoU、GIoU、DIoU、EIOU、CIoU&#xff0c;还融合了“Focus”思想&#xff0c;创造了一系列新的损失函数。这些组合形式的…

前端请求发送成功,后端收到null

1、dishId为64&#xff0c;有数据 2、但是后端调试接不到数据&#xff0c;为null 3、形参部分缺少RequestBody接收JSON数据&#xff0c;加上即可

C++修炼之路之STL_stack,queue和容器适配器

目录 前言 一&#xff1a;SLT中stack和queue的基本使用 1.在官网中对stack和queue的简单介绍 2.数据结构中栈和队列的基本知识和操作 3. STL中stack的接口函数及使用 4.STL中queue的接口函数及使用 二&#xff1a;容器适配器Container 三&#xff1a;使用容器适配器…

浏览器工作原理与实践--安全沙箱:页面和系统之间的隔离墙

前面三篇文章我们主要围绕同源策略介绍了Web页面安全的相关内容&#xff0c;那今天我们把视野向外延伸&#xff0c;来聊聊页面安全和操作系统安全之间的关系。 在《仅仅打开了1个页面&#xff0c;为什么有4个进程&#xff1f;》那篇文章中&#xff0c;我们分析了浏览器架构的发…

第一篇【传奇开心果系列】我和AI面对面聊编程:深度比较PyQt5和tkinter.ttk

传奇开心果系列博文 系列博文目录我和AI面对面聊编程系列 博文目录前言一、今天我们面对广大读者选择PyQt5和tkinter.ttk做比较这个话题目的是什么&#xff1f;二、举一个最简单的pyqt5信号和插槽的例子三、这和tkinter的点击事件有什么区别&#xff1f;四、如何选择&#xff1…

深澜计费管理系统 /demo/proxy存在任意文件读取漏洞

声明&#xff1a; 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 简介 深澜计费管理系统是一款用于网络设备计费管理的软件…

React + 项目(从基础到实战) -- 第八期

ajax 请求的搭建 引入mockAP接口设计AJAX 通讯 前置知识 HTTP 协议 , 前后端通讯的桥梁API : XMLHttpRequest 和 fetch常用工具axios mock 引入 Mock.js (mockjs.com) 使用 mockJS 前端代码中引入 mockJs定义要模拟的路由 , 返回结果mockJs 劫持ajax请求(返回模拟的结果)…

SPI 和W25Q128(使用SPI通讯读写W25Q128模块)

SPI 是什么&#xff1f; SPI 是串行外设接口&#xff08; Serial Peripheral Interface &#xff09;的缩写&#xff0c;是一种高速的&#xff0c;全双工&#xff0c;同步的通信总线&#xff0c;并且在芯片的管脚上 只占用四根线 &#xff0c;节约了芯片的管脚&#xff0c;同时…

SecureCRT (Mac/Windows)中文---远程连接与管理的安全新选择

SecureCRT是一款功能强大的终端仿真程序&#xff0c;专为连接和管理远程系统而设计。它支持SSH&#xff08;包括SSH1和SSH2&#xff09;协议&#xff0c;确保用户与目标设备之间的通信安全&#xff0c;有效防止网络攻击和窥探。此外&#xff0c;SecureCRT还支持Telnet、Rlogin等…

Jmeter 接口造10w条用户数据

1、将mysql-connector-java-5.1.22-bin.jar放到D:\apache-jmeter-5.5\lib\ext目录下 2、在测试计划中&#xff0c;添加mysql-connector-java-5.1.22-bin.jar包路径 3、添加-线程组-添加-配置元件-jdbc connection configuration 4、配置jdbc连接参数 设置变量名称&#xff1a;…

ASP.NET基于SVG的自动站雨量分析系统

摘 要 SVG是由W3C组织开发的基于可扩展标记语言的一种矢量图形描述语言&#xff0c;已经在互联网上得到了较广泛的应用。为了以图形方式直观地显示雨量数据变化&#xff0c;方便工作人员进行雨量数据的查询及分析&#xff0c;设计了本套基于SVG的雨量分析系统。 该自动站雨量…

基于SSM+Jsp+Mysql的准速达物流管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

wsl安装与日常使用

文章目录 一、前向配置1、搜索功能2、勾选下面几个功能&#xff0c;进行安装二、安装WSL1、打开Windows PowerShell,查找你要安装的linux版本2、选择对应版本进行安装3、输入用户名以及密码 三、配置终端代理1、打开powershell,查看自己的IP把以下信息加入到~/.bashrc中 四、更…

【论文速读】| 大语言模型是边缘情况模糊测试器:通过FuzzGPT测试深度学习库

本次分享论文为&#xff1a;Large Language Models are Edge-Case Fuzzers: Testing Deep Learning Libraries via FuzzGPT 基本信息 原文作者&#xff1a;Yinlin Deng, Chunqiu Steven Xia, Chenyuan Yang, Shizhuo Dylan Zhang, Shujing Yang, Lingming Zhang 作者单位&…

MySQL Explan执行计划详解

Explan执行计划 首先我们采用explan执行计划 执行一条sql&#xff0c;发现返回了12个列&#xff0c;下面会详细解释每一列 1、ID列 id列的值是代表了select语句执行顺序&#xff0c;是和select相关联的&#xff1b;id列的值大的会优先执行&#xff0c;如果id列为空最后执行&a…