深入Docker5:安装nginx部署完整项目

目录

准备

为什么要使用nginx

mysql容器构建

1.删除容器

2.创建文件夹

3.上传配置文件

4.命令构建mysql容器

5.进入mysql容器,授予root所有权限

6.在mysql中用命令运行sql文件

7.创建指定数据库shop

8.执行指定的sql文件

nginx安装与部署

        1.拉取镜像

2.创建并运行nginx容器

3.新建Nginx目录及配置目录

4.进入目录 上传文件

5. 进入nginx,创建并配置容器

本机域名映射,修改windows文件


准备


为什么要使用nginx

nginx 是特定的前端服务器  由它转发给其它容器 作用类似与网关

  •     反向代理,负载均衡(规则:轮询,权重)
  •     动静分离

mysql容器构建


1.删除容器

 docker rm -f $(docker ps -aq)

2.创建文件夹

mkdir -p mysql/{conf,data}

3.上传配置文件

进入conf文件夹,将配置文件上传到conf文件夹(数据库配置文件已放到置顶资源中)

 4.命令构建mysql容器

docker run \
--name m1 \
-v /soft/mysql/conf/my.cnf:/etc/my.cnf \
-v /soft/mysql/data:/var/lib/mysql \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
--net mynet \
-d mysql/mysql-server:5.7

/soft/mysql/conf/my.cnf:/etc/my.cnf目录为我们配置绑定的目录

/soft/mysql/data:/var/lib/mysql 是将data目录与MySQL目录进行绑定

 5.进入mysql容器,授予root所有权限

docker exec -it m1 bashmysql -u -root -p#授予所有权限
grant all on *.* to root@'%' identified by '123456';

6.在mysql中用命令运行sql文件

首先将准备好的SQL文件放到之前创建好的../mysql/data目录下

然后登录进入到当前Mysql中

在前面我们构建镜像时有一个将data目录与MySQL配置文件目录进行绑定

-v /soft/mysql/data:/var/lib/mysql

 7.创建指定数据库shop

create database shop
use shop

 8.执行指定的sql文件

source /var/lib/mysql/book.sql

nginx安装与部署


1.拉取镜像

docker pull nginx

2.创建并运行nginx容器

docker rm -f n1docker run -itd -p 80:80 --name  n1 nginx

 我们使用ip访问一下,如果出现Welcome to nginx! 说明nginx安装成功

上面的创建是最基础的创建Nginx容器,在后期我们还需要对Nginx进行配置,目录挂载等等

 3.新建Nginx目录及配置目录

mkdir -p /soft/nginx/conf.d

 4.进入目录 上传文件

mkdir -p /soft/nginx/conf.dcd /soft/nginx/conf.d

上传配置文件 html ,default.conf 

5. 进入nginx,创建并配置容器


#进入容器
docker exec -it nginx bashdocker run -itd \
--name n1 \
-v /soft/nginx/conf.d:/etc/nginx/conf.d \
-v /soft/nginx/html:/etc/nginx/html \
-p 80:80 \
--net mynet \
--ip 172.20.0.104 \
nginx
第一个 -v :挂载 nginx 的主配置文件,以方便在宿主机上直接修改容器的配置文件
第二个 -v :挂载静态页面目录

 

本机域名映射,修改windows文件 


修改windows目录下的hosts文件实现域名映射才能生效

输入你的虚拟机ip和域名才能生效

c://windows//system32//drivers//etc//hosts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/414649.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 之路如逆水行舟 不进则退

C 核心编程 内存分区模型 C 程序在执行时,将内存大方向划分为 4 个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放 , 存放函数的参数…

15、注册表永久关闭Citrix云桌面UAC功能

一、说明 我们经常使用Citrix云桌面时候遇到打开软件会弹出一个输密码的界面,这个其实是UAC,此次我们主要使用注册表方式彻底关闭。 二、注册表方式 打开路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Syst…

新版AndroidStudio dependencyResolutionManagement出错

在新版AndroidStudio中想像使用4.2版本或者4.3版本的AndroidStudio来构造项目?那下面这些坑我们就需要来避免了,否则会出各种各样的问题。 一.我们先来看看新旧两个版本的不同。 1.jdk版本的不同 新版默认是jdk17 旧版默认是jdk8 所以在新版AndroidSt…

Mysql root 密码重置详解

文章目录 1 概述1.1 前言1.2 mysql 版本查询 2 windows 操作系统2.1 mysql 8 及以上版本2.1.1 关闭 mysql 服务2.1.2 通过无认证方式启动 mysql2.1.3 新开窗口,登录 mysql,重置密码 1 概述 1.1 前言 不同的操作系统(如:windows、…

Unity 编辑器篇|(十)Handles (全面总结 | 建议收藏)

目录 1. 前言2 参数总览3 Handles两种使用方式3.1 基于Editor类的OnSceneGUI3.2 基于EditorWindow 4 Handles绘制4.1 Draw:绘制元几何体(点、线、面)4.1.1 抗锯齿: DrawAAPolyLine 、 DrawAAConvexPolygon4.1.2 绘制实线: DrawLine 、 DrawLines 、DrawP…

Python基础第一篇(Python概念介绍)

文章目录 一、前言:二、第一个Python程序三,理解Python的解释器四,Python解释器的使用五,Python开发环境 一、前言: 欢迎来到我们的Python学习专栏。在这里,我们将一起探索Python这门强大、灵活、易于学习…

electron+vite+vue3 快速入门教程

文章目录 前言一、electron是什么?二、electron 进程模型1.主进程2.渲染进程3.预加载脚本4.进程通信4.1 sendon(单向)4.2 invokehandle (双向)4.3 主进程向渲染进程发送事件 三、窗口创建与应用事件四、技术栈和构建工具五、electron-vite安装…

龙年-微信定制红包封面,送一波

龙年新年马上就要来临了,我定制两款红包封面,送给大家。这次是借助AI的能力,自己独立完成,这大概就是这波AI浪潮的魅力,人人皆可参与。 另外,微信平台也给我推送了自己的公众号创作回顾,没想到居…

Unity常用的优化技巧集锦

Unity性能优化是面试的时候经常被问道的一些内容,今天给大家分享一些常用的Unity的优化技巧和思路,方便大家遇到问题时候参考与学习。 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游…

RabbitMQ 部署与配置[CentOS7]

# RabbitMQ,Erlang 版本包对应 https://rabbitmq.com/which-erlang.html#eol-seriescd /usr/local/src# Erlang下载 # https://github.com/rabbitmq/erlang-rpm/releases https://github.com/rabbitmq/erlang-rpm/releases/download/v23.3.4.5/erlang-23.3.4.5-1.el7.x86_64.rp…

FFmpeg之AVFilter

文章目录 一、概述二、重要结构体2.1、AVFilterGraph2.2、AVFilter2.3、AVFilterContext 三、流程梳理3.1、FFmpeg AVFilter 使用整体流程3.2、过滤器构建流程3.2.1、分配AVFilterGraph3.2.2、创建过滤器源3.2.3、创建接收过滤器3.2.4、生成源和接收过滤器的输入输出3.2.5、通过…

虚拟线程探索与实践(JDK19)

优质博文:IT-BLOG-CN 一、简介 虚拟线程是轻量级线程,极大地减少了编写、维护和观察高吞吐量并发应用的工作量。虚拟线程是由JEP 425提出的预览功能,并在JDK 19中发布,JDK 21中最终确定虚拟线程,以下是根据开发者反馈…