首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 25-03-07 21:42
  • 4198
  • 11844
blog.csdn.net

目录

安装Docker命令

1.卸载原有的Docker:

2.安装docker:

3.启动docker:

4.配置镜像加速:

使用Docker安装Mysql

1.上传文件:

2.创建目录:

3.运行docker命令:

4.测试:



安装Docker命令


1.卸载原有的Docker:

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

  1. yum remove docker \
  2. docker-client \
  3. docker-client-latest \
  4. docker-common \
  5. docker-latest \
  6. docker-latest-logrotate \
  7. docker-logrotate \
  8. docker-selinux \
  9. docker-engine-selinux \
  10. docker-engine \
  11. docker-ce

2.安装docker:

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

  1. yum install -y yum-utils \
  2. device-mapper-persistent-data \
  3. lvm2 --skip-broken

然后更新本地镜像源:

  1. # 设置docker镜像源
  2. yum-config-manager \
  3. --add-repo \
  4. https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  5. sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
  6. yum makecache fast

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

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

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

sudo pkill -f packagekit

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

  1. sudo systemctl stop packagekit
  2. sudo systemctl disable packagekit

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

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

yum makecache fast

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

yum install -y docker-ce

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

3.启动docker:

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

  1. # 关闭
  2. systemctl stop firewalld
  3. # 禁止开机启动防火墙
  4. systemctl disable firewalld

随后通过命令启动docker:

  1. systemctl start docker # 启动docker服务
  2. systemctl stop docker # 停止docker服务
  3. 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

如果出现下面报错: 

  1. [root@localhost mysql]# docker pull mysql:5.7.25
  2. 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就可以开始修改了 -> 

  1. {
  2. "dns": ["8.8.8.8", "8.8.4.4"],
  3. "registry-mirrors": [
  4. "https://docker.registry.cyou",
  5. "https://docker-cf.registry.cyou",
  6. "https://dockercf.jsdelivr.fyi",
  7. "https://docker.jsdelivr.fyi",
  8. "https://dockertest.jsdelivr.fyi",
  9. "https://mirror.aliyuncs.com",
  10. "https://dockerproxy.com",
  11. "https://mirror.baidubce.com",
  12. "https://docker.m.daocloud.io",
  13. "https://docker.nju.edu.cn",
  14. "https://docker.mirrors.sjtug.sjtu.edu.cn",
  15. "https://docker.mirrors.ustc.edu.cn",
  16. "https://mirror.iscas.ac.cn",
  17. "https://docker.rainbond.cc"
  18. ]
  19. }

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

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

  1. systemctl daemon-reload
  2. systemctl restart docker

2.创建目录:

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

创建目录/tmp/mysql/data

创建目录/tmp/mysql/conf

  1. # 创建目录
  2. mkdir -p /tmp/mysql/data
  3. mkdir -p /tmp/mysql/conf

随后创建my.cnf文件:

  1. [mysqld]
  2. skip-name-resolve
  3. character_set_server=utf8
  4. datadir=/var/lib/mysql
  5. server-id=1000

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

bind-address = 0.0.0.0

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

3.运行docker命令:

  1. docker run \
  2. --name mysql \ # 指定容器名称为 mysql
  3. -e MYSQL_ROOT_PASSWORD=123 \ # 设置 MySQL root 用户的密码
  4. -p 3306:3306 \ # 映射主机的 3306 端口到容器的 3306 端口
  5. -v /tmp/mysql/conf/my.cnf:/etc/mysql/conf.d/hmy.cnf \ # 挂载自定义配置文件
  6. -v /tmp/mysql/data:/var/lib/mysql \ # 挂载 MySQL 数据存储目录
  7. -d \ # 后台运行容器
  8. 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地址)

注:本文转载自blog.csdn.net的记得开心一点嘛的文章"https://blog.csdn.net/2302_79840586/article/details/145547085"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top