Docker之安装Nginx

发布时间:2024年01月18日

??🎉🎉欢迎来到我的CSDN主页!🎉🎉

🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚

🌟推荐给大家我的博客专栏《Docker之Dockerfile构建镜像》。🎯🎯

🎁如果感觉还不错的话请给我关注加三连吧!🎁🎁

?前言

? ? ? ? 在上一期有关Dokcer博客的分享中我们学习到一些有关网络的知识点,有IP、子网掩码、网关等等,我们也学习了网络模式中的host、Bridge以及我们自定义网络,其中我们有谈及到bridge网络模式如何去连接到两个容器以及自定义网络中如何去连接两个容器。今天这期博客基于上一期Docker的网络配置博客,仔细阅读干货满满。

一、完善数据库配置

? ? ? ? 我们在上一期的博客分享中我们只是实现了数据库的安装以及使其项目连接到我们的数据库上。今天我们就来完善我们的项目部署。首先我们先进入到我们的mysql容器中我们对其用户进行授权。

?

? ? ? ? ?然后我们重启一下mysql服务,我们将jar包拖至指定的目录下

?

? ? ? ? ?我们在该目录下编写一个镜像文件。输入指令:vim Dockerfile进入编辑镜像文件中

From openjdk

WORKDIR /project

COPY spring.jar /project

CMD java -jar spring.jar --mysql.addr=m1

? ? ? ? ?我们退出并保存,我们构建一个镜像

?

? ? ? ? 接下来我们运行三个容器

docker run -itd --name s1 --net mynet --ip 172.20.0.101 -p 8080:8080 spring:v1
docker run -itd --name s2 --net mynet --ip 172.20.0.102 spring:v1
docker run -itd --name s3 --net mynet --ip 172.20.0.103 spring:v1

?

? ? ? ? ? 我们在我们主机进行测试访问,验证。?

? ? ? ? 我们查看日志时就会发现是我们的数据库没有,无法连接到指定的数据库中。?

?

? ? ? ? ?接下来我们进行新建数据库,我们先进入mysql容器中,我们创建对应的数据库,然后执行对应的数据库脚本。

?

? ? ? ? 我们将数据库脚本拖至mysql下的data目录下?

?

?????????我们进入到数据库容器中运行数据库脚本

输入命令:source?/var/lib/mysql/数据库脚本

?

?

? ? ? ? ?我们在网页上再进行测试一遍,我们就可以访问到我们数据库中的数据了

二、安装Nginx

? ? ? ? 我们首先运行一个容器使用Nginx镜像进行运行。

?

? ? ? ? ?我们回到我们的网页上去访问80端口

? ? ? ? 我们成功的访问Nginx,说明我们Nginx成功开启,但是我们没有前端,接下来我们要去修改Nginx配置文件,我们要通过目录挂载的形式将配置文件和静态页面挂载进去。我们首先创建对应的文件夹

?

? ? ? ? 我们将配置文件复制到该目录下。?

?

? ? ? ? ?配置文件的内容如下

#服务器的集群
upstream tomcatList {  
    server 172.20.0.101:8080 weight=1; 
    server 172.20.0.102:8080 weight=1; 
    server 172.20.0.103:8080 weight=1; 
} 
    
server {

    listen  80;
    server_name  www.zkingedu.com;

    location / {
        root   /etc/nginx/html/;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    
    location ~^/api/ {
        rewrite ^/api/(.*)$ /$1 break;
        proxy_pass  http://tomcatList;
        proxy_redirect default;
    }

}

? ? ? ? 我们切回ngnix文件夹下,将我们的静态文件页面拖至进去。

?

?

?????????我们移出之前创建的n1容器,重新创建一个

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

?

? ? ? ? ?我们去到网页上刷新测试

? ? ? ? 成功的访问到我们Nginx的负载均衡,?当我们访问呢下方网址时会无法访问,因为我们没有域名映射。

? ? ? ? 因为我们要去域名映射才能生效,在C:\Windows\System32\drivers\etc下的一个hosts文件进行修改,双击进行修,修改不了的话右击属性,点击安全,找到自己用户选择完全控制即可。

? ? ? ? 我们最后进行测试。?


?🎉🎉本期的博客分享到此结束🎉🎉

📚📚各位老铁慢慢消化📚📚

🎯🎯下期博客博主会带来新货🎯🎯

🎁三连加关注,阅读不迷路?!🎁

?

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