" name="sm-site-verification"/>
侧边栏壁纸
博主头像
PySuper 博主等级

千里之行,始于足下

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

目 录CONTENT

文章目录

Docker 部署 Nginx / MySQL / Redis

PySuper
2020-05-13 / 0 评论 / 0 点赞 / 39 阅读 / 0 字
温馨提示:
本文最后更新于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

评论区