Docker安装mysql
下载镜像
docker pull mysql:8.0
注意,使用此方法安装镜像需要提前配置镜像源,详情看之前的文章
安装
docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
mysql:8.0
进入到容器
docker exec -it 容器名/容器id bash
登录mysql
mysql -uroot -proot
修改root账号加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
退出
exit
docker run 命令常见参数
--name:指定容器名称
--restart=always 自动启动
--privileged=true 拥有特权
-p:指定端口映射
-d:让容器后台运行
Docker容器命令
创建一个新的容器并运行
docker run 镜像名
查看容器
docker ps -a
停止容器
docker stop 容器名
启动容器
docker start 容器名
删除容器
删除容器前,先要停止容器
docker rm 容器名
查看容器日志
docker logs 容器名
数据卷挂载
数据卷是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。
它将宿主机目录映射到容器内目录,方便我们操作容器内文件,或者方便迁移容器产生
数据。
在执行docker run命令时,使用-v数据卷:容器内目录可以完成数据卷挂载
由于容器内的目录操作起来不太方便,例如mysql数据目录,tomcat项目目录,所以可以在linux(宿主机)中创建一个目录,在运行镜像时,把宿主机中的目录和容器内的目录建立映射关系,后期运行产生数据,就可以存储在宿主集中的映射目录中,宿主机中的目录称为数据卷
创建mysql数据卷
mkdir -p /opt/mysql/data
安装
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
创建数据卷
mkdir -p /opt/nginx/html
安装命令
docker run -d -p 80:80 \
--name nginx \
--restart=always \
--privileged=true \
-v /opt/nginx/html:/usr/share/nginx/html \
nginx:1.24
访问
自己的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安装
创建配置文件和数据的映射(数据卷)
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