"/>
侧边栏壁纸
博主头像
PySuper 博主等级

千里之行,始于足下

  • 累计撰写 237 篇文章
  • 累计创建 15 个标签
  • 累计收到 2 条评论

目 录 CONTENT

文章目录

Docker 部署 Nginx / MySQL / Redis

PySuper
2020-05-13 / 0 评论 / 0 点赞 / 125 阅读 / 2033 字
温馨提示:
本文最后更新于 2024-05-28,若内容或图片失效,请留言反馈。 所有牛逼的人都有一段苦逼的岁月。 但是你只要像 SB 一样去坚持,终将牛逼!!! ✊✊✊

MySQL

docker pull mysql:5.7.26

# 启动容器,建议在/usr/local/workspace/mysql下执行以下docker run命令
docker run -p 13306:3306 --name my-mysql -v $PWD/conf:/etc/mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26
 
# 建议写死路径
docker run -p 13306:3306 --name mysql-z -v /usr/local/workspace/mysql/conf:/etc/mysql -v /usr/local/workspace/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26
命令 说明
-p 13306:3306 将容器的 3306 覆盖映射到主机的 3306 覆盖
–name my-mysql 启动后容器称为 my-mysql
-v $ PWD / conf:/ etc / mysql 将主机当前目录下的 conf / 挂载到容器的 /etc/mysql(conf 目录为 mysql 的配置文件,不挂载也没问题)
-v $ PWD / logs:/ logs 将主机当前目录下的日志目录挂载到容器的 /logs(logs 目录为 mysql 的日志目录,不挂载也没影响)
-v $ PWD / data:/ var / lib / mysql 将主机当前目录下的数据目录挂载到容器的 /var/lib /mysql(数据目录为 mysql 配置的数据文件存放路径,这个还是建议挂载,是存储数据的,容器 down 掉,还能再次挂载数据。)
-e MYSQL_ROOT_PASSWORD = 123456 初始化 root 用户的密码

查看容器启动情况

docekr ps

设置可以远程登录 MySQL

use mysql;
select host,user from user;

-- 设置root用户在任何地方进行远程登录,并具有所有库任何操作权限
-- 公司绝对不能这样做,暴露的攻击面太大,这里只是做测试。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

-- 刷新权限
FLUSH PRIVILEGES;

-- 退出mysql 
exit

访问 MySQL

使用主机机IP:13306,访问 MySQL 数据库

Nginx

docker pull nginx:1.16.0
docker run --name nginx-z -p 8088:80 -d nginx:1.16.0
  1. 安装 DockerNginx:docker pull nginx
  2. 启动测试:docker run --name nginx-z-1 -p 8001:80 -d nginx
  3. 修改 nginx 配置,把 docker 里面的 nginx 相关配置指向方便修改的目录
# 创建目录(自行创建详细目录)
mkdir -p /usr/local/docker_nginx/www/html /usr/local/docker_nginx/logs /usr/local/docker_nginx/conf

# 复制docker里面的nginx配置到以上目录

# 执行docker ps,然后复制containerId,并执行复制nginx.conf
sudo docker cp d59b0e4fe154:/etc/nginx/nginx.conf /usr/local/docker_nginx/conf
  1. 关闭并移除之前的 nginx 容器
# 查看所有的容器编号
docker ps -l
    
# 移除容器
docker rm <container ID>
    
# 停止容器
docker container stop <container ID>
  1. 正式启动 nginx 容器
# sudo docker run -d -p 8081:80 --name nginx-docker-web -v /usr/local/docker_nginx/www/html:/usr/share/nginx/html -v /usr/local/docker_nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/docker_nginx/logs:/var/log/nginx nginx
  1. 在 /usr/local/docker_nginx/www/html 目录下,创建 index.html,然后直接访问即可
# http://xxxxxx:8081/index.html
命令 说明
–name 后面设置容器名称,这里设置的容器名为 my-nginx
-p 端口进行映射,将本地宿主机 8088 端口映射到容器内部的 80 端口
-d 设置容器在后台运行

Redis

docker pull redis:4.0
docker run --name redis-z -p 16379:6379 -v /usr/local/workspace/redis/data:/data -d redis:4.0 redis-server --appendonly yes

cd /usr/local/bin/
./redis-cli 
命令 说明
–name my-redis 启动后容器名为 my-redis
-p 16379:3306 将容器的 3306 端口映射到主机的 16379 端口
-v /usr/local/workspace/redis/data:/data 将主机 /usr/local/workspace/redis/data 目录挂载到容器的 /data
redis-server --appendonly yes 在容器执行 redis-server 启动命令,并打开 redis 持久化配置

参考:https://www.cnblogs.com/haoprogrammer/p/11008786.html

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区