docker实战
Docker 安装 MySQL
MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能,MySQL 已成为 Web 应用程序的数据库优先选择。
1、查看可用的 MySQL 版本
官网地址:https://hub.docker.com/_/mysql
2、拉取mysql镜像
3、运行mysql容器
这种方式启动容器,一旦容器删除数据会丢失,所以正常都会将数据挂载在主机的目录下。
命令参数:
-
--restart=always
: 当Docker 重启时,容器会自动启动 -
-p 3306:3306
:将容器的3306端口映射到主机的3306端口 -
--name mysql
:-> 指定容器名称 -
-v /usr/local/docker/mysql/conf:/etc/mysql
:将主机当前目录下的 conf 挂载到容器的 /etc/mysql -
-v /usr/local/docker/mysql/logs:/var/log/mysql
:将主机当前目录下的 logs 目录挂载到容器的 /var/log/mysql -
-v /usr/local/docker/mysql/data:/var/lib/mysql
:将主机当前目录下的 data 目录挂载到容器的 /var/lib/mysql -
-e MYSQL_ROOT_PASSWORD=123456
:初始化root用户的密码 -
-d
:以守护进程的方式启动容器
查看容器启动情况
4、进入容器
5、登录mysql
6、添加远程登录用户
7、远程客户端连接mysql
这里使用Navicat连接mysql如下:
Docker安装Redis
1、查看可用的 Redis 版本
官方地址:https://hub.docker.com/_/redis?tab=description&page=1&ordering=last_updated
2、拉取redis镜像
3、redis.conf文件配置
从官网获取 redis.conf 配置文件
修改下载的默认配置文件
- bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
- protected-mode no #默认yes,开启保护模式,限制为本地访问
- daemonize no #默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
- requirepass 你的密码 #给redis设置密码(可选)
- dir ./ #输入本地redis数据库存放文件夹(可选)
- appendonly yes #redis持久化(可选)
操作步骤如下
4、docker启动redis
命令解释说明:
-
--restart=always: 当Docker 重启时,容器会自动启动
-
-p 6379:6379: 把容器内的6379端口(后面的端口)映射到宿主机6379端口(前面的端口)
-
--name redis: 指定容器名称
-
-v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf:将主机目录下的 redis.conf目录挂载到容器的/etc/redis/redis.conf
-
-v /usr/local/docker/redis/data:/data:将主机目录下的data目录挂载到容器的data目录下
-
-d redis:rc-alpine3.12 :表示后台启动redis
-
**redis-server /etc/redis/redis.conf **:以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
-
appendonly yes: 开启redis 持久化
5、查看是否启动成功
Docker常用命令
docker镜像
docker容器,[]的内容可以省略
docker仓库
docker数据卷
__EOF__

本文链接:https://www.cnblogs.com/bigfairy/p/14206870.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!