linux安装docker教程+mysql安装

news2024/11/18 3:49:34

一、linux安装docker教程

第一步、关闭SELINUX服务

 修改文件后的重启linux,重启命令为:reboot 

注意此处虚拟机里修改重启无法启动linux系统成功,处理方法:
1、重启Linux按e进入系统启动项修改参数

2、在linux16的行位添加 selinux=0
按ctrl + x之后启动linux系统

 3、启动之后,修改/etc/selinux/config文件

第二步、安装Docker服务

第三步、DockerHub是Docker公共镜像仓库 

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。适用于 Ubuntu14.04、Debian、CentOS6 、CentOS7、Fedora、Arch Linux、openSUSE Leap 42.1,其他版本可能有细微不同。这里需要重启docker才会生效

daemon.json 内容后面如果有,号就的去除
{“registry-mirrors”: [“http://f1361db2.m.daocloud.io”]}

二、使用docker安装mysql

1.在docker hub上查看要下载的mysql镜像名称:

docker hub镜像仓库中为我们开发要
打开docker hub 网站
dockerHub官网地址dockerHub官网地址dockerHub官网地址:https://registry.hub.docker.com/
在上方搜索栏里输入mysql  找到要拉取的镜像版本,在tag下找到版本

回到虚拟机界面,执行下面命令来拉取mysql镜像
不指定版本号,默认下载最新版本docker pull mysql

指定版本号:docker pull mysql:5.7

 

2.镜像拉取完成后,用该镜像创建mysql实例,使用下面的命令来创建

docker run --privileged=true -p 5306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d:rw -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql3 -d mysql:5.7

这里对上面的参数做下简单的介绍:
配置端口映射:-p 3306:3306
将容器的3306端口映射到主机的3306端口

配置mysql数据卷挂载
-v /usr/local/mysql/log:/var/log/mysql(日志文件挂载)
将容器中的日志文件夹挂载到主机对应的/var/log/mysql文件夹中
-v /usr/local/mysql/data:/var/lib/mysql(数据文件挂载)
将容器中的数据文件夹挂载到主机对应的/var/lib/mysql文件夹中
-v /usr/local/mysql/conf:/etc/mysql/conf.d:rw(配置文件挂载)
将容器的配置文件夹挂载到主机对应的/etc/mysql文件夹中(容易出错看错误2)
注(这里所提的主机指的是当前的linux主机)

配置用户:-e MYSQL_ROOT_PASSWORD=root
设置初始化root用户的密码

命名:--name mysql3

指定镜像资源:-d mysql:5.7
-d:以后台方式运行实例
mysql:5.7:指定用这个镜像来创建运行实例

下面演示是用root用户来执行的命令,如果当前不是root用户,要在命令前加 sudo,以管理员方式来运行, 创建成功后使用下面命令查看下创建好的mysql实例:docker ps -a

 相关命令:

查看容器状态:docker ps -a
启动容器mysql3:docker start mysql3
停用容器mysql3:docker stop mysql3
重新进入容器:docker exec -it mysql3 bash
删除mysql3容器:docker rm mysql3

三、遇到无法启动的问题时,查看日志发现的错误

docker logs --tail -n mysql3

错误1、You need to specify one of the following as an environment variable:
    - MYSQL_ROOT_PASSWORD
    - MYSQL_ALLOW_EMPTY_PASSWORD
    - MYSQL_RANDOM_ROOT_PASSWORD

解释: 由于mysql没有指定root的登录密码导致无法启动,默认mysql配置是不允许空密码登录的

原因:上面执行命令的时候写错了环境变量, MYSQL_SERVICE_PASSWORD 应该修改成 MYSQL_ROOT_PASSWORD

错误2、mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory)

解释:可能由于不同的mysql版本,/etc/mysql目录下的结构不一样

原因: 由于mysql的配置目录/etc/mysql下有两个空目录, 上面的执行命令仅挂载了当前目录,导致里面的两个目录没有权限挂载到宿主机内, 应该将挂载目录指定到具体的目录下: -v /usr/local/mysql/conf:/etc/mysql/conf.d:rw

错误3-1、mysqld: Can't create/write to file '/var/lib/mysql/is_writable' (OS errno 13 - Permission denied)

错误3-2、chown: changing ownership of '/var/lib/mysql': Permission denied

 

 原因: 启动时没有足够的权限, /var/lib/mysql目录没有写权限, 可能是部署docker时指定了--user xxx某个权限不足的用户

解决方法有三个:

1.在docker run中加入 --privileged=true 给容器加上特定权限

2.关闭selinux csdn

3.在selinux添加规则,修改挂载目录

本人使用的是第1种解决方案

四、使用docker安装mysql配置主从(待本人自测成功后完善)

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

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

相关文章

k8s编程operator——(4) kubebuilder controller-runtime

文章目录1、KubeBuilder使用1.1 下载1.2 使用2、controller-runtime参考资料:https://book.kubebuilder.io/k8s编程operator系列: k8s编程operator——(1) client-go基础部分 k8s编程operator——(2) client-go中的informer k8s编程operator——(3) 自定…

【PostgreSQL的wal_buffers】

1、什么是wal buffer? wal buffer是预写日志(wal)缓冲区 2、wal buffer的作用是什么 用于还未写入磁盘的 WAL 数据的共享内存。 每次变更事务提交时候,需要将变更事务日志落盘,在PG中为了提高性能,并非采用实时flush到磁盘,而是在PG中提供XLog Buff…

DFS学习

一、DFS 1、简介 最初听到DFS还以为是深度优先遍历,实际上是分布式文件存储服务(Distributed file system)。 FastDFS是一套分布式文件存储服务,Titans将FastDFS提供的接口进行了封装,屏蔽了一些无需关注的操作细节,让用户可以更…

Java基础:Lambda表达式

1. 函数式编程思想概述 在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么…

《Fluent Python》笔记 | 函数对象和装饰器

在Python中函数是对象,本质是function类的实例。同样函数对象也是“一等对象”,即满足以下条件: 在运行时创建能赋值给变量或数据结构中的元素能作为参数传给函数能作为函数的返回结果 函数对象的__doc__属性用于生成对象的帮助文本。 接受…

【避坑指南】快准狠!一键采购电子元器件(文末优惠券)

在采购元器件的过程中,经常会出现一些或这或那的情况,比如遇到假货问题、不具备专业知识、工作经验不够丰富、采购型号错误等等,因此采购下单如赌注,每个订单都下得心惊肉跳。 那么有哪些坑是可以避开的,又有什么方法可…

AI大模型加持,生成式搜索来了!

梦晨 发自 凹非寺量子位 | 公众号 QbitAI最近有两件事,让搜索引擎重回聚光灯下。百度发布“文心百中”,用AI大模型技术驱动的产业级搜索系统。构建企业内部搜索引擎的人力成本减少90%以上,同时只需要极低数据。几乎同一时间,OpenA…

算法---DFS和BFS

一 : 什么是DFS和BFS? 转载自 : 什么是DFS和BFS? 简介: 深度优先遍历(Depth First Search, 简称 DFS) 与广度优先遍历(Breath First Search)是图论中两种非常重要的算法,生产上广泛用于拓扑排序&#xf…

软考高级信息系统项目管理师如何备考?

从以下两个方面: 1.首先分析一下高项考试的各个科目; 2.如何备考高项? 高项考试有三个科目: 综合知识,案例分析,和论文。 一、综合知识 信息系统项目管理师上午综合知识科目范围广,知识点非…

【差分进化算法】基于适应度-距离-平衡的自适应引导差分进化 (FDB-AGDE) 算法附matlab代码

​✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法…

java工作流开源框架可以提高工作效率吗?

要想回答这个问题,就需要了解什么是java工作流开源框架,以及java工作流开源框架的主要特点是什么。随着大数据时代的拓展发展,低代码开发平台已经在数字化管理时代中深受欢迎,是做好数据管理和提升企业数字化发展步伐的重要工具。…

医疗机构 IT 管理员保护患者数据和隐私的 3 项必做之事

自疫情开始以来,医疗机构的信息存储与管理正面临着巨大的考验。患者的健康史,包括所有治疗、程序、处方、实验室测试和扫描报告,都以电子健康记录 (EHR) 的形式存储。尽管 EHR 更能提高患者病例的准确性,并帮助医生跟踪患者的医疗…

网络三层交换机部署实验

♥️作者:小刘在C站 ♥️每天分享云计算网络运维课堂笔记,疫情之下,你我素未谋面,但你一定要平平安安,一 起努力,共赴美好人生! ♥️夕阳下,是最美的,绽放,愿…

排查cpu飚高问题-两种方案

cpu 飚高原因 频繁创建线程 线程内进行频繁计算 模拟代码 SpringBootApplicationEnableSchedulingpublic class CrawlBigDataApplication {public static void main(String[] args) { /*19*/ SpringApplication.run(CrawlBigDataApplication.class, (String[])args)…

【并发编程】Atomic类

一、介绍 在java.util.concurrent.atomic包下atomic一般指原子操作类,主要分为四种类型的原子更新类:原子更新基本类型、原子更新数组类型、原子更新引用和原子更新属性。 二、简单使用 1.AtomicInteger 通过synchronized关键字来保证原子性&#xf…

社交平台数据提取:Social Phone Extractor

Social Phone Extractor是一个功能强大且创新的程序,能够搜索和扫描在 Google / Bing / Yahoo 中索引并与最重要的社交网络(如 Linkedin、Facebook、Twitter 和 Instagram)相关的个人资料、帖子和文章的页面,然后捕获和推断&#…

ChatGPT介绍世界杯历史与编写足球游戏python程序

ChatGPT聊天机器人最近非常流行,是由OpenAI于本月发布的。花了一点时间注册了一个账号,如有需要帮助注册的可以随时与我交流。注册过程相对有一些复杂。 除了常规的聊天对话功能之外,ChatGPT聊天机器具备强大的文本生成能力,例如博…

【Android】Broadcast广播的使用

一、广播机制概述 通常情况下在学校的每个教室都会装有一个喇叭,这些喇叭是接入到学校广播室的。如果有重要通知,会发送一条广播来告知全校师生。为了便于发送和接收系统级别的消息通知,Android系统也引入了一套类似广播的消息机制。 Android…

股票撤单委托接口是如何操作的?

在交易的过程中&#xff0c;要先通过股票撤单委托接口获取委托单列表的数据&#xff0c;才可以进行撤单的操作&#xff0c;部分的数据会作为参数传递给撤单函数&#xff0c;下面来具体看看股票撤单委托接口是如何操作的&#xff1f; std::cout << " 撤单委托 \n&qu…

025_SSS_BeLFusion: Latent Diffusion for Behavior-Driven Human Motion Prediction

BeLFusion: Latent Diffusion for Behavior-Driven Human Motion Prediction 本文关注的问题是human motion prediction&#xff08;HMP&#xff09;&#xff0c;也就是在给定观测到的人体运动的前提下&#xff0c;预测人体的后续运动。本文的思路是&#xff0c;将人的behavio…