Linux --- 如何安装Docker命令并且使用docker安装Mysql【一篇内容直接解决】

目录

安装Docker命令

1.卸载原有的Docker:

2.安装docker:

3.启动docker:

4.配置镜像加速:

使用Docker安装Mysql

1.上传文件:

2.创建目录:

3.运行docker命令:

4.测试:



安装Docker命令


1.卸载原有的Docker:

如果之前安装过旧版本的Docker,可以使用下面命令卸载:  

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

2.安装docker:

首先需要大家虚拟机联网,安装yum工具:

yum install -y yum-utils \device-mapper-persistent-data \lvm2 --skip-broken

然后更新本地镜像源:

# 设置docker镜像源
yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repoyum makecache fast

注意:如果执行上面命令出现下面log:

这个问题是由于 PackageKit 进程占用了 yum 的锁,导致你无法执行 yum 相关的操作(如 yum installyum update)。我们可以直接杀掉 PackageKit 进程。

PackageKit 是一个后台服务,负责自动检查软件更新,但它有时会锁定 yum,导致手动执行 yum 命令时被阻塞。我们可以使用以下命令终止该进程:

sudo pkill -f packagekit

也可以禁用 PackageKit(防止以后再占用锁):

sudo systemctl stop packagekit
sudo systemctl disable packagekit

这将阻止 PackageKit 在系统启动时自动运行。

随后在重新运行下面命令来建立元数据缓存:

yum makecache fast

最后输入命令,稍等片刻就可以成功安装docker命令:

yum install -y docker-ce

出现上图样式且无报错则代表我们已经成功安装Docker。 

3.启动docker:

Docker应用需要用到各种端口,需要逐一去修改防火墙设置非常麻烦,因此建议大家直接关闭防火墙!

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

随后通过命令启动docker:

systemctl start docker  # 启动docker服务systemctl stop docker  # 停止docker服务systemctl restart docker  # 重启docker服务

然后我们可以输入命令查看docker版本:

docker -v

4.配置镜像加速:

docker官方镜像仓库网速较差,我们需要设置国内镜像服务:  

一般参考阿里云镜像加速文档:阿里云Docker镜像加速文档

随后我们按照阿里云文档配置即可。 


使用Docker安装Mysql


1.上传文件:

首先我们导出mysql.tar文件(Docker 镜像备份文件)。

之后将mysql.tar文件上传到虚拟机的/tmp目录,并使用load命令将 MySQL Docker 镜像加载回本地 Docker:

docker load -i mysql.tar

也可以直接拉取,使用下面命令:

docker pull mysql:5.7.25

如果出现下面报错: 

[root@localhost mysql]# docker pull mysql:5.7.25
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

 首先使用下面命令进入/etc/docker/daemon.json文件:

sudo vi /etc/docker/daemon.json

随后在文件内部修改成下面代码:(阿里云可以不删,但是基本上没什么用,删了也没事)

这里使用的是vi,所以我们点击o就可以开始修改了 -> 

{"dns": ["8.8.8.8", "8.8.4.4"],"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"]
}

 随后按 Esc 键进入命令模式,输入 :wq 然后回车即可退出 vim。

最后运行下面命令重启docker即可:

systemctl daemon-reload
systemctl restart docker

2.创建目录:

创建两个目录,作为数据库的数据卷:

创建目录/tmp/mysql/data

创建目录/tmp/mysql/conf

# 创建目录
mkdir -p /tmp/mysql/data
mkdir -p /tmp/mysql/conf

随后创建my.cnf文件:

[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000

如果想在主机上也能访问 MySQL,可以在 my.cnf 文件中添加: 

bind-address = 0.0.0.0

随后将my.cnf文件上传到/tmp/mysql/conf。

3.运行docker命令:

docker run \--name mysql \                              # 指定容器名称为 mysql-e MYSQL_ROOT_PASSWORD=123 \                # 设置 MySQL root 用户的密码-p 3306:3306 \                              # 映射主机的 3306 端口到容器的 3306 端口-v /tmp/mysql/conf/my.cnf:/etc/mysql/conf.d/hmy.cnf \  # 挂载自定义配置文件-v /tmp/mysql/data:/var/lib/mysql \         # 挂载 MySQL 数据存储目录-d \                                        # 后台运行容器mysql:5.7.25                                # 使用 MySQL 5.7.25 镜像

出现下图形式代表成功:

 

4.测试:

查看容器是否运行:

docker ps

检查日志是否有错误:

docker logs mysql

进入 MySQL 容器:

docker exec -it mysql bash

登录 MySQL:

mysql -uroot -p123

随后在Navicat连接即可:(注意:这里主机要用虚拟机的IP,可以使用ifconfig命令查看自己的虚拟机IP地址)

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

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

相关文章

Linux磁盘空间使用率100%(解决删除文件后还是显示100%)

本文适用于,删除过了对应的数据文件,查看还是显示使用率100%的情况 首先使用df -h命令查看各个扇区所占用的情况 一、先对系统盘下所有文件大小进行统计,是否真的是数据存储以达到了磁盘空间 在对应的扇区路径下使用du -sh * | sort -hr 命…

Python——批量图片转PDF(GUI版本)

目录 专栏导读1、背景介绍2、库的安装3、核心代码4、完整代码总结专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系列文章专栏:请点击——>Python办公自动化专…

IDEA查看项目依赖包及其版本

一.IDEA将现有项目转换为Maven项目 在IntelliJ IDEA中,将现有项目转换为Maven项目是一个常见的需求,可以通过几种不同的方法来实现。Maven是一个强大的构建工具,它可以帮助自动化项目的构建过程,管理依赖关系,以及其他许多方面。 添加Maven支持 如果你的项目还没有pom.xm…

HTML 属性

HTML 属性 HTML(超文本标记语言)是构建网页的基础,而HTML属性则是赋予HTML元素额外功能和样式的关键。本文将详细介绍HTML属性的概念、常用属性及其应用,帮助您更好地理解和使用HTML。 一、HTML属性概述 HTML属性是HTML元素的组成部分,用于描述元素的状态或行为。属性总…

【C++八股】 前置 ++i vs. 后置 i++ 的区别

在 C 中&#xff0c; 运算符有前置 i 和后置 i 两种方式&#xff0c;它们都能让变量自增 1&#xff0c;但在执行顺序、性能、应用场景上有所不同。 1. i vs. i 对比表 2. 代码示例 #include <iostream> int main() {int a 5, b 5;std::cout << "a "…

Deepseek-v3 / Dify api接入飞书机器人go程序

准备工作 开通了接收消息权限的飞书机器人&#xff0c;例如我希望用户跟飞书机器人私聊&#xff0c;就需要开通这个权限&#xff1a;读取用户发给机器人的单聊消息 im:message.p2p_msg:readonly准备好飞书机器人的API key 和Secretdeepseek-v3的api keysecret&#xff1a;http…

vue动态table 动态表头数据+动态列表数据

效果图: <template><div style"padding: 20px"><el-scrollbar><div class"scrollbar-flex-content"><div class"opt-search"><div style"width: 100px"> </div><div class"opt-b…

Vue(4)

一.组件的三大组成部分-注意点说明 &#xff08;1&#xff09;scoped样式冲突 默认情况&#xff1a;写在组件中的样式会全局生效 → 因此很容易造成多个组件之间的样式冲突 ①全局样式&#xff1a;默认组件中的样式会作用到全局 ②局部样式&#xff1a;可以给组件加上scoped属…

python-leetcode 23.回文链表

题目&#xff1a; 给定单链表的头节点head,判断该链表是否为回文链表&#xff0c;如果是&#xff0c;返回True,否则&#xff0c;返回False 输入&#xff1a;head[1,2,2,1] 输出&#xff1a;true 方法一&#xff1a;将值复制到数组中后用双指针法 有两种常用的列表实现&#…

INFINI Labs 产品更新 - Easysearch 增强 Rollup 能力,Console 完善 TopN 指标等

INFINI Labs 产品更新发布&#xff01;此次更新&#xff0c;Easysearch 增强 Rollup 能力&#xff0c;支持更多的聚合方式&#xff1b;Console 完善了 TopN 的指标&#xff0c;支持自定义视图&#xff0c;并内嵌视图模板&#xff1b;Gateway 进行了多处优化以及修复相关 Bug 等…

仿 RabbitMQ 实现的简易消息队列

文章目录 项目介绍开放环境第三⽅库介绍ProtobufMuduo库 需求分析核⼼概念实现内容 消息队列系统整体框架服务端模块数据管理模块虚拟机数据管理模块交换路由模块消费者管理模块信道&#xff08;通信通道&#xff09;管理模块连接管理模块 客户端模块 公共模块日志类其他工具类…

Node.js开发属于自己的npm包(发布到npm官网)

在 Node.js 中开发并发布自己的 npm 包是一个非常好的练习&#xff0c;可以帮助我们更好地理解模块化编程和包管理工具&#xff0c;本篇文章主要阐述如何使用nodejs开发一个属于自己的npm包&#xff0c;并且将其发布在npm官网。在开始之前确保已经安装了 Node.js 和 npm。可以在…

二、通义灵码插件保姆级教学-IDEA(使用篇)

一、IntelliJ IDEA 中使用指南 1.1、代码解释 选择需要解释的代码 —> 右键 —> 通义灵码 —> 解释代码 解释代码很详细&#xff0c;感觉很强大有木有&#xff0c;关键还会生成流程图&#xff0c;对程序员理解业务非常有帮忙&#xff0c;基本能做到哪里不懂点哪里。…

Python----PyQt开发(PyQt基础,环境搭建,Pycharm中PyQttools工具配置,第一个PyQt程序)

一、QT与PyQT的概念和特点 1.1、QT QT是一个1991年由The Qt Company开发的跨平台C图形用户界面应用程序开发 框架&#xff0c;可构建高性能的桌面、移动及Web应用程序。也可用于开发非GUI程序&#xff0c;比如 控制台工具和服务器。Qt是面向对象的框架&#xff0c;使用特殊的代…

【数据结构】双向链表(真正的零基础)

链表是一种物理存储单元上非连续、非顺序的存储结构。数据元素的逻辑顺序是通过指针的链接来实现的&#xff01;在上篇我们学习了单向链表&#xff0c;而单向链表虽然空间利用率高&#xff0c;插入和删除也只需改变指针就可以达到&#xff01;但是我们在每次查找、删除、访问..…

pip3命令全解析:Python3包管理工具的详细使用指南

pip3命令全解析:Python3包管理工具的详细使用指南 一、基本使用二、升级和更新三、其他常用命令四、换源操作五、注意事项六、帮助信息pip3命令使用说明 pip3 是 Python 3 的包管理工具,用于安装、升级和卸载 Python 3 的包。以下是 pip3 的常用命令及详细说明: 一、基本使…

开启对话式智能分析新纪元——Wyn商业智能 BI 携手Deepseek 驱动数据分析变革

2月18号&#xff0c;Wyn 商业智能 V8.0Update1 版本将重磅推出对话式智能分析&#xff0c;集成Deepseek R1大模型&#xff0c;通过AI技术的深度融合&#xff0c;致力于打造"会思考的BI系统"&#xff0c;让数据价值触手可及&#xff0c;助力企业实现从数据洞察到决策执…

使用PyCharm创建项目以及如何注释代码

创建好项目后会出现如下图所示的画面&#xff0c;我们可以通过在项目文件夹上点击鼠标右键&#xff0c;选择“New”菜单下的“Python File”来创建一个 Python 文件&#xff0c;在给文件命名时建议使用英文字母和下划线的组合&#xff0c;创建好的 Python 文件会自动打开&#…

第三个Qt开发实例:利用之前已经开发好的LED驱动在Qt生成的界面中控制LED2的亮和灭

前言 上一篇博文 https://blog.csdn.net/wenhao_ir/article/details/145459006 中&#xff0c;我们是直接利用GPIO子系统控制了LED2的亮和灭&#xff0c;这篇博文中我们利用之前写好的LED驱动程序在Qt的生成的界面中控制LED2的亮和灭。 之前已经在下面两篇博文中实现了LED驱动…

【Unity】性能优化:UI的合批 图集和优化

目录 前言一、合批测试二、图集 前言 注意&#xff1a;DC指的是Draw Call。 温馨小提示&#xff1a;Frame Debugger 窗口&#xff08;菜单&#xff1a;Window > Analysis > Frame Debugger&#xff09;会显示绘制调用信息&#xff0c;并允许您控制正在构建的帧的“回放”…