docker部署项目

目录

1.自定义网络相关

1.1.自定义网络操作

1.2.容器互通

1.2.1.同一网络下的容器互通

1.2.2.不同网络下的容器互通

2.Docker安装配置Nginx

2.1.什么是Nginx

2.2.部署架构图

​编辑  2.3.安装Nginx

    2.3.1.快速入门

2.3.2.部署SPA项目

3.安装配置MySQL

3.1.拉取镜像

3.2.上传mysql配置文件

3.3.创建运行mysql容器

3.4.配置mysql远程访问

3.5.持久化测试

4.安装配置Nacos

4.1.安装配置单机版Nacos

4.1.1.拉取镜像

4.1.2.创建nacos容器

2.1.3.查看nacos容器启动日志

4.1.4.配置防火墙并访问nacos

4.1.5.测试

4.2.安装配置集群版Nacos

4.2.1.停止并删除所有容器

4.2.2.创建mysql容器

4.2.3.创建nacos集群

4.3.测试

5.tomcat配置(这里采用两个节点)

 5.1.首先需要将后台的代码打包放入linux中的(tomcat的webapps目录中)

 5.2.需要创建数据卷容器

 5.3.需要进入tomcat容器中启动tomcat

6.Nginx动态代理配置

  6.1. 创建nginx容器

6.2.修改nginx配置文件nginx.conf


1.自定义网络相关

1.1.自定义网络操作

  • 创建自定义网络,并设置相关网络配置:

docker network create --driver bridge --subnet 192.168.0.1/16 --gateway 192.168.0.1 mynet

 参数说明:

  • 删除自定义网络mynet:(注意:没有容器使用此网络才能删除)

docker network rm mynet

  • 查看docker中已安装的所有网络:

 docker network ls

  • 查看自定义网络mynet中的配置信息:

 docker network inspect mynet

  • network帮助命令:

docker network --help 

1.2.容器互通

1.2.1.同一网络下的容器互通

分别创建两个容器centos1centos2,两个容器均使用同一个自定义网络mynet:  

# 创建容器centos1
docker run --name centos1 -itd --net mynet --ip 192.168.0.11 centos:latest
# 创建容器centos2
docker run --name centos2 -itd --net mynet --ip 192.168.0.12 centos:latest 

 有些下载的镜像,执行docker run -d 不加-it参数运行后就直接exited(0),这是制作此镜像的基础镜像的问题,添加-itd即可。

例如:centos镜像就要加-itdnginx镜像则不需要-it-d即可 。

启动容器后检查网络之间是否可以互通:

docker exec -it centos1 ping centos2

1.2.2.不同网络下的容器互通

停止所有容器并删除所有容器:

docker stop $(docker ps -aq) && docker rm $(docker ps -aq) 

使用bridge默认网络模式创建容器centos1

docker run --name centos1 -itd centos:latest 

使用自定义网络模式mynet创建容器centos2

docker run --name centos2 -itd --net mynet --ip 192.168.0.12 centos:latest 

 测试centos1centos2的连接:

docker exec -it centos1 ping centos2

连接失败,控制台出现如下提示:ping: centos2: Name or service not known

解决方案:向网络mynet中添加容器centos1

docker network connect mynet centos1 

为什么成功了呢?原因:容器centos1具有两个ip,也就是双网卡的概念。  

2.Docker安装配置Nginx

2.1.什么是Nginx

Nginx(“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用Nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

官网地址:nginx的官网

2.2.部署架构图

  2.3.安装Nginx

    2.3.1.快速入门

  • 搜索镜像:

docker search nginx

  • 拉取镜像:

docker pull nginx  

  • 使用docker内置网络bridge创建Nginx容器:

 docker run \
       --name mynginx \
       -d -p 80:80 \
       nginx:latest

修改centos7的防火墙放开80端口:

# 开启80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重启防火墙(不重启以上的设置是不会生效的):
firewall-cmd --reload
#查询指定端口号是否开启:
firewall-cmd --query-port=80/tcp 

测试nginx是否安装成功。打开浏览器输入: http://宿主机ip:80,正常情况下会显示nginx的欢迎页面。

  • 使用自定义网络mynet创建Nginx容器:

由于之前已经创建了一个mynginx容器(基于bridge网络模式),所以在创建下面容器时请先要删除已经存在的容器mynginx,再执行下列命令创建容器:

 docker run \
       --name mynginx \
       -d -p 80:80 \
       --net mynet --ip 192.168.0.13 \
       nginx:latest

最终,通过外部浏览器访问时页面提示连接不上。(自定义网络对外不可见)  

2.3.2.部署SPA项目

第一步:在宿主机上创建挂载目录(数据卷):

mkdir -p /data/nginx/{conf,conf.d,html,log} 

mkdir -p /data/nginx/{conf,conf.d,html,log}

因为在nginx镜像中没有安装vi或vim编辑器(安装又太麻烦了),无法编辑nginx配置文件,所以直接通过数据卷挂载上去更加方便。

第二步:nginx配置文件nginx.conf上传到宿主机的挂载目录/data/nginx/conf下:  

将课件中的nginx.conf文件上传到/data/nginx/conf目录下,并对其配置进行修改。将nginx.conf配置文件中的动态资源访问部分注释掉。  

 第三步:vue前端项目打包后上传到宿主机的挂载目录/data/nginx/html下并解压

 unzip dist.zip

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值