Docker安装mysql&安装nginx&安装Redis

Docker安装mysql

下载镜像

复制代码
docker pull mysql:8.0

注意,使用此方法安装镜像需要提前配置镜像源,详情看之前的文章

安装

xml 复制代码
docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
mysql:8.0

进入到容器

xml 复制代码
docker exec -it 容器名/容器id bash

登录mysql

复制代码
mysql -uroot -proot

修改root账号加密方式

复制代码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

退出

复制代码
exit

docker run 命令常见参数

xml 复制代码
--name:指定容器名称
--restart=always 自动启动
--privileged=true 拥有特权
-p:指定端口映射
-d:让容器后台运行

Docker容器命令

创建一个新的容器并运行

复制代码
docker run 镜像名

查看容器

xml 复制代码
docker ps -a

停止容器

xml 复制代码
docker stop 容器名

启动容器

复制代码
docker start 容器名

删除容器

删除容器前,先要停止容器

复制代码
docker rm 容器名

查看容器日志

复制代码
docker logs 容器名

数据卷挂载

数据卷是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。

它将宿主机目录映射到容器内目录,方便我们操作容器内文件,或者方便迁移容器产生

数据。

在执行docker run命令时,使用-v数据卷:容器内目录可以完成数据卷挂载

由于容器内的目录操作起来不太方便,例如mysql数据目录,tomcat项目目录,所以可以在linux(宿主机)中创建一个目录,在运行镜像时,把宿主机中的目录和容器内的目录建立映射关系,后期运行产生数据,就可以存储在宿主集中的映射目录中,宿主机中的目录称为数据卷

创建mysql数据卷

xml 复制代码
mkdir -p /opt/mysql/data

安装

xml 复制代码
docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
-v /opt/mysql/data:/var/lib/mysql \
mysql:8.0

nginx

nginx是一个又俄罗斯程序员开发的一款前端web服务器(只能运行前端项目)

运行占内存小,性能高,最大并发链接数量可以达到50000

拉取镜像

复制代码
docker pull nginx:1.24

创建数据卷

xml 复制代码
mkdir -p /opt/nginx/html

安装命令

xml 复制代码
docker run -d -p 80:80 \
--name nginx \
--restart=always \
--privileged=true \
-v /opt/nginx/html:/usr/share/nginx/html \
nginx:1.24

访问

xml 复制代码
自己的ip:80

Redis

Redis是什么

Redis是一个开源的,使用c语言编写的,支持网络交互的

将数据存储在内存中的Key-Value结构的数据存储系统,支持多种语言,它可以用作数据库,缓存和消息中间件

是一款非关系型数据库

Redis可以用来当做数据库(存储一些简单的数据,例如新闻点赞数量),缓存(秒杀的商品数量信息)

消息中间

Redis特点

1.数据存储在内存中,也支持数据持久化,可以将内存中的数据保持在磁盘中,重启的时候也可以再次加载进行使用

2.性能极高,Redis 能读的速度是 110000 次/s,写的速度是 81000 次/s 。

3.提供了丰富的数据结构存储数据,list,set,zset,hash 等数据结构的存储。

4.原子 -- Redis 的所有操作都是原子性的,同时 Redis 还支持对几个操作全并后的原子性执行。

5.Redis 分布式集群化扩展性极,高即 master-slave(主-从)模式。

Redis安装

创建配置文件和数据的映射(数据卷)

xml 复制代码
mkdir -p /opt/redis/conf
mkdir -p /opt/redis/data

安装命令

复制代码
docker run -d -p 6379:6379  --name redis  --restart=always --privileged=true -v /opt/redis/conf/redis.conf:/etc/redis/redis.conf -v /opt/redis/data:/data redis:6.0
相关推荐
一只小菜鸡..17 分钟前
Stanford CS144 学习笔记 (二):传输层与数据通信机制
网络·笔记·学习
多加点辣也没关系22 分钟前
JavaScript|第24章:事件循环与并发模型
开发语言·javascript·ecmascript
数行拙笔23 分钟前
Redis---list类型
数据库·redis·缓存
万亿少女的梦16837 分钟前
基于Spring Boot与MySQL的乡镇群众服务系统设计与实现
java·spring boot·mysql·权限管理·前后端分离
ん贤42 分钟前
怎么设计,才算一个优秀审计模块
大数据·开发语言·设计·审计
天选之子12343 分钟前
tabulate学习
学习
l1t1 小时前
测试用rust重写的postgresql: pgrust
开发语言·postgresql·rust
2501_948106911 小时前
计算机毕业设计之jsp-智慧旅游分享平台
java·开发语言·spark·汽车·课程设计·旅游
子非鱼94271 小时前
06-Flutter 鸿蒙实战 06:上传后处理流程,照片识别、故事生成和状态刷新
学习·flutter·华为·harmonyos
阿里云云原生1 小时前
Agent 不再是“玩具”!AgentScope Java 2.0 GA 发布:构建企业级分布式智能体底座
java·开发语言·分布式·agentscope