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
相关推荐
tingshuo29178 小时前
S001 【模板】从前缀函数到KMP应用 字符串匹配 字符串周期
笔记
雨中飘荡的记忆12 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
曲幽21 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
fetasty21 小时前
rustfs加picgo图床搭建
docker
蝎子莱莱爱打怪2 天前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
闲云一鹤2 天前
nginx 快速入门教程 - 写给前端的你
前端·nginx·前端工程化
小p3 天前
docker学习7:docker 容器的通信方式
docker
小p3 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p3 天前
docker学习3:docker是怎么实现的?
docker
于眠牧北3 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql