一.mysql部署
1.拉取mysql镜像
docker pull centos/mysql-57-centos7
2.创建容器
docker run -di --name=testmysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7
-p 代表端口映射 格式为 宿主机端口:docker容器运行端口
-e 代表添加环境变量 MYSQL_ROOT_PASSWORD是root的登陆密码
3.进入testmysql容器中
docker exec -it testmysql/bin/bash
4.开启远程访问权限
use mysql;
select host,user from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
二.Redis部署
1.拉取redis
sudo docker pull redis
2.查看镜像
docker images
3.做文件挂载
(1)在服务器创建挂载的目录和配置文件
mkdir /usr/local/docker/redis/data
mkdir /usr/local/docker/redis/conf
在conf里面创建一个redis.conf
touch redis.conf
redis.conf文件
#bind 127.0.0.1 //允许远程连接
protected-mode no appendonly yes //持久化
requirepass 123456 //密码
(2)运行redis 的docker容器
sudo docker run -p 6380:6379 --name myredis -v /usr/local/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
–name:给容器起一个名
-p:端口映射 宿主机:容器
-v:挂载自定义配置 自定义配置:容器内部配置
-d:后台运行
redis-server --appendonly yes: 在容器执行redis-server启动命令,并打开redis持久化配置
(3)进入redisdocker容器
docker exec -it myredis redis-cli
注:如果出现该错误: (error) NOAUTH Authentication required.
说明没有输入密码进行验证,请输入:auth 你的密码
三.Nginx部署
拉取Nginx镜像
docker pull nginx
运行nginx镜像
docker run -di --name="myNginx" -p 70:80 nginx
进入到nginx容器里
docker exec -it mysql /bin/bash
进入nginx所在位置
cd /etc/nginx/
进入到conf.d文件夹中查看html所在位置为 /usr/share/nginx/html;
利用docker cp 命令将前端文件拷进docker中