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

发布时间:2024年01月18日

目录

?编辑

准备

为什么要使用nginx

nginx前置操作

?配置数据库

拉取镜像

进入目录 上传文件

?进入nginx,创建并配置容器

修改windows文件?


准备


为什么要使用nginx

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

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

nginx前置操作


?配置数据库

删除容器

 docker rm -f $(docker ps -aq)

?生成容器

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

?配置镜像,编辑Dockerfile文件

FROM openjdk
WORKDIR /project
COPY spring.jar /project
CMD java -jar spring.jar --mysql.addr=m1

?构建镜像

docker rmi spring:v1

docker build -t spring:v1 .

?创建数据库,运行sql文件

docker exec -it m1 bash

mysql -u -root -p

#授予所有权限
grant all on *.* to dbl@'%' identified by '123456';

#执行sql脚本 但是sql脚本上传不到容器中 所以使用目录挂载的形式
source /var/lib/mysql/book.sql

拉取镜像


docker pull nginx

docker rm -f n1

docker run -itd -p 80:80 --name  n1 nginx
无法使用 vim 指令 ,所以需要进行目录挂载,通过目录挂载的形式配置文件和静态页面

进入目录 上传文件


mkdir -p /soft/nginx/conf.d

cd /soft/nginx/conf.d

上传配置文件 html ,default.conf?

?进入nginx,创建并配置容器


#进入容器
docker exec -it nginx bash

docker 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文件实现实现域名映射才能生效

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

文章来源:https://blog.csdn.net/d2916172682/article/details/135673694
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。