windows 搭建docker 以及部署前后端项目及程序,对所需目录挂载nginx进行配置显示

这篇具有很好参考价值的文章主要介绍了windows 搭建docker 以及部署前后端项目及程序,对所需目录挂载nginx进行配置显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.windwos安装docker

1.我们在电脑上进行搜索 ,启用或者关闭windows功能

windows使用docker部署项目,docker,容器,运维

2. 如果没有 Hype-V的话,具体添加步骤如下:
在本地创建一个.bat文件,内容为: 

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

保存为.bat文件,然后右键,以管理员身份运行。

windows使用docker部署项目,docker,容器,运维

等待安装好之后,最后一步点击Y。完成安装。
然后以管理员身份运行powershell.这个其实就是cmd的升级版,cmd大家应该很熟悉,就是windows下的命令行工具,就跟我们的linux的命令行逸一样,只是windows使用更多的是图形化界面,面向的用户群体比较广。
回到正文,在power shell中执行以下几个命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

该命令是启动WSL。WSL是linux操作系统内核的一些组件,其实我们虽然是在windows下进行安装docker 实际上我们的docker还是跑在了Linux上的,这就是为什么我们需要用WSL的原因。

 上面的命令执行完成之后,执行下面的语句:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

上面的命令是启动虚拟机的功能。
完成之后重启电脑。

重启电脑完成之后就会看到Hyper已经存在 我们对它进行勾选

windows使用docker部署项目,docker,容器,运维

 3.在启用或关闭windows功能中打开windows相关功能,将适用于linux的windows子系统进行勾选

windows使用docker部署项目,docker,容器,运维

4. 下载WSL软件,并安装

运行windows的终端,输入wsl --list --online选择要安装的版本。

我选择的ubuntu20.04进行安装,在终端中输入

wsl --install -d Ubuntu-20.04

wsl --install -d Ubuntu-20.04

等待安装结束。如果安装失败,可以手动下载离线包安装:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

安装完毕后,可以在终端输入wsl进行检查。

5.下载Docker

来到Docker官网:Get Started | Docker

软件安装完毕后出现绿色则安装成功:

windows使用docker部署项目,docker,容器,运维

6. 验证安装

打开终端,输入docker --version,可以查看版本信息,安装完毕。

windows使用docker部署项目,docker,容器,运维

 二.Nginx挂载本地显示文件

因为项目所要对本地目录图片进行操作展示,docker运行的话我想到的方法只能是挂载配合nginx进行显示

# E:/FTP 为我本地目录文件 /var/car_image 为挂载之后本地目录的位置
docker run -d -p 80:80 -v E:/FTP:/var/car_image nginx

当我们挂载之后去容器目录/etc/nginx配置里找到nginx.conf

windows使用docker部署项目,docker,容器,运维

然后加入下列代码

# /car_image/ 为浏览器输入路径(别名)
# /var/car_image/ 为实际存在的路径
# autoindex on; 允许访问目录
server {

    location /car_image/ {
        alias /var/car_image/;
        autoindex on;
    }

windows使用docker部署项目,docker,容器,运维

 然后保存重新启动

我们可以使用命令重新启动容器

docker restart 容器id或者容器名字

也可以点击这个按钮来进行重启

windows使用docker部署项目,docker,容器,运维

 接下来我们可以在浏览器输入ip地址加端口以及我们所配置的目录,效果如下 

windows使用docker部署项目,docker,容器,运维

三.前端代码进行打包部署

我们在前端启动项目命令行输入

npm  run build

前端项目会生产一个文件夹,我们新建一个文件夹,把生产的前端代码包放进去,如图所示圈住的是我的前端生产代码文件夹

windows使用docker部署项目,docker,容器,运维

 我们接下来编写Dockerfile

FROM nginx

# 安装 tzdata 包,并设置上海时区
RUN apt-get update && \
    apt-get install -y --no-install-recommends tzdata && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone
 
RUN rm /etc/nginx/conf.d/default.conf
 
ADD default.conf /etc/nginx/conf.d/
 
COPY cxsb/ /usr/share/nginx/html/

接下来编写配置文件default.conf

server {
    listen       8080;
    server_name  127.0.0.1; # 修改为docker服务宿主机的ip
 
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

编写完成后我们进入到根目录对代码进行打包

# vue_res 为自己定义名称
docker build -t vue_res . 

我们可以看到我们的镜像已经打包完成

windows使用docker部署项目,docker,容器,运维

 接下来启动容器

# --name 后面所对应的为容器名字 -d是后台运行 -p为映射端口  vue_car 为镜像名字 也可以使用镜像id
docker run --name vue_res -d -p:8080:8080 vue_car

windows使用docker部署项目,docker,容器,运维

 打开浏览器输入127.0.0.1:8080 我们可以看到页面如下 已经启动完成,前端项目打包部署完成

windows使用docker部署项目,docker,容器,运维

 四. 后端java jar包进行打包部署

新建一个文件夹,然后将所需文件放到文件夹里面

windows使用docker部署项目,docker,容器,运维

 编写后端Dockerfile

# 使用官方的 OpenJDK 18 作为基础镜像
FROM openjdk:18

# 设置时区为中国标准时间
ENV TZ=Asia/Shanghai

# 将 JAR 包复制到容器的 /java_car 目录下
COPY ruoyi-admin.jar /java_car/ruoyi-admin.jar

# 将配置文件复制到容器的 /java_car/config 目录下
COPY application.yml /java_car/config/application.yml
COPY application-druid.yml /java_car/config/application-druid.yml

# 设置工作目录为 /java_car
WORKDIR /java_car

# 运行 Java 应用程序
CMD ["java", "-jar", "ruoyi-admin.jar"]

# 运行 Java 应用程序,指定配置文件路径
CMD ["java", "-jar", "ruoyi-admin.jar", "--spring.config.location=classpath:/application.yml,file:/java_car/config/application.yml", "--spring.config.additional-location=file:/java_car/config/application-druid.yml"]

步骤跟前端一样,我们进行build进行打包

docker build -t java_car .

镜像运行命令

docker run --name java_car -d -p 81:81 java_car

至此我们的java后端代码就部署完成

五. python程序进行打包

将我们所需文件放到一个目录里

windows使用docker部署项目,docker,容器,运维

Dockerfile如下

# 使用 python:3.7 作为基础镜像
FROM python:3.7

# 安装 tzdata 包,并设置上海时区
RUN apt-get update && \
    apt-get install -y --no-install-recommends tzdata && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone

RUN mkdir /Timed_clear
# 将python程序添加到镜像
ADD Timing.py /Timed_clear/
# 将项目依赖添加到镜像
ADD requirements.txt /Timed_clear/
WORKDIR /Timed_clear
RUN pip install -r requirements.txt

# 指定脚本运行时执行的命令,这里的配置等于 python Timing.py
ENTRYPOINT ["python", "Timing.py"]
# 打包python程序
docker build -t times_clear

由于我们所需代码需要对本地图片进行操作,所以容器运行的时候得对目录进行挂载

# 对本地图片进行挂载
docker run --name times_clear -d -v E:/:/var/car_image times_clear

之后进入文件更改我们获取目录位置为/var/car_image/以及文件目录后缀进行获取

下面dockerfile 可忽略(作为记载)

# python版本,可根据需求进行修改
FROM python:3.7

# 安装 tzdata 包,并设置上海时区
RUN apt-get update && \
    apt-get install -y --no-install-recommends tzdata && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone

# 创建工作目录 /image_docker,并将python程序和依赖添加到镜像
RUN mkdir /image_docker
ADD Image_ex.py /image_docker/
ADD Socket_Client.py /image_docker/
ADD requirements.txt /image_docker/

# 设置工作目录为 /image_docker
WORKDIR /image_docker

# 安装 Python 依赖包
RUN pip install --no-cache-dir -r requirements.txt

# ENTRYPOINT 将 Socket_Client.py 设置为入口点程序
ENTRYPOINT ["python", "Socket_Client.py"]

# CMD 将 Image_ex.py 设置为默认执行的命令
CMD ["python", "Socket_Client.py"]

六. Docker 界面化

#拉取界面化镜像
docker pull portainer/portainer-ce

# 运行
docker run -p 9000:9000 -p 8000:8000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /mydata/portainer/data:/data \
-d portainer/portainer

windows使用docker部署项目,docker,容器,运维

容器自启动命令文章来源地址https://www.toymoban.com/news/detail-716890.html

docker update --restart=always 容器名字或容器id

到了这里,关于windows 搭建docker 以及部署前后端项目及程序,对所需目录挂载nginx进行配置显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】部署单机OA项目及搭建spa前后端分离项目

    在虚拟机中,将项目打包成war文件放置到tomcat根目录下的webapps文件目录下 再在主机数据库中连接虚拟机,并定义数据库名导入相关的表 继续进入tomcat目录下双击点击startup.bat,启动oa项目 主机访问OA项目 如果登入不进去,进入虚拟机tomcat导入的项目文件中查看是否与主机中

    2024年02月08日
    浏览(31)
  • docker+docker-compose+nginx前后端分离项目部署

    安装yum-utils 从国内服务器上下载docker 安装docker 验证是否成功 安装需要的包 安装依赖包 添加 Docker 的官方 GPG 密钥 设置远程仓库 安装 Docker-CE 验证是否成功 国内镜像中心常用的为阿里云与网易云, 选择其中一个加速器进行配置即可 。在本地 Docker 中指定要使用的国内加速器

    2023年04月09日
    浏览(44)
  • 【Docker】使用Docker安装Nginx及部署前后端分离项目应用

            Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。它是由 伊戈尔·赛索耶夫 为俄罗斯访问量第二的Rambler.ru站点开发的,公开版本1.19.6发布于2020年12月15日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置

    2024年01月22日
    浏览(38)
  • 【后台部署】Windows服务器部署RuoYi-Vue前后端分离项目

    一、Ruoyi-Vue前后端分离项目结构 二、Redis部署 1、下载Windows版本Redis 2、解压缩到安装目录 3、在安装目录栏输入cmd,按回车键 4、将Redis绑定为 Windows 服务,设置为后台启动 或者 5、常用命令 启动服务 停止服务 卸载命令 6、停止和启动也可以通过页面来操作 右键 此电脑 --管

    2024年02月13日
    浏览(40)
  • k8s+docker部署前后端分离项目

    目录 环境准备 1、k8s集群 2、harbor远程仓库 部署前后端分离项目 生成vue镜像(所有子节点都需要操作) 1、将前端vue项目打包得到dist.zip 2、创建nginx的配置文件default.conf 3、创建Dockerfile文件 4、生成vue镜像 5、打标签 6、推到harbor仓库 7、查看生成的镜像 生成jar包镜像(所有子

    2023年04月08日
    浏览(31)
  • 【Docker】安装Nginx容器并部署前后端分离项目

    🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Docker实战》。🎯🎯 👉点击这里,就可以查看我的主页啦!👇👇 Java方文山的个人主页 🎁如果感觉还不错的话请给我点赞吧!🎁🎁 💖期待你的加入,一起

    2024年01月23日
    浏览(43)
  • 【Docker】docker部署springboot+vue+mysql+nginx前后端分离项目【部署实战篇】

    安装docker: https://blog.csdn.net/qq_39900031/article/details/121666892 springboot-vue前后端分离项目:https://gitee.com/ma-haojie/springboot-vue-demo.git https://jackwei.blog.csdn.net/article/details/110227719 或者 --restart=always 参数能够使我们 在重启docker时,自动启动相关容器 。 Docker容器的重启策略如下: no,默认

    2024年02月13日
    浏览(42)
  • Jenkins+Gitee+Docker+Ruoyi项目前后端分离部署

    描述:本文主要是用来记录 如何用标题上的技术,部署到云服务器上通过ip正常访问。 一、总览 1.1、Docker做的事 拉取 mysql 镜像 拉取 redis 镜像 拉取 jdk 镜像 拉取 nginx 镜像 解释说明:前端项目的打包文件放在 nginx容器运行。后端的jar包放在jdk容器运行。另外两个是后端项目

    2024年02月07日
    浏览(36)
  • 超详细实战Docker+Jenkins部署生产环境前后分离项目

    环境: 本文的所有服务都部署在阿里云ECS服务器(2H4G)上面, 前后端分离项目使用gitee上面的开源项目若依(ruoyi-vue)为例, 从零开始教学 1、先停止服务器, 再重装系统, 用最干净的系统从头教学, 保证大家环境一样 2、系统选择Centos最新版本, 然后开始安装, 等待安装完成 3、安装完

    2024年01月17日
    浏览(33)
  • 【Docker】Linux中使用Docker安装Nginx部署前后端分离项目应用

    目录 一、概述 1. Nginx介绍 2. Nginx优势 3. Nginx的工作原理 二、容器创建 1. Mysql容器 2. Tomcat容器 3. Nginx容器 每篇一获 Nginx(发音为 \\\"engine x\\\")是一个开源的、高性能的 HTTP 服务器和反向代理服务器。它也可以作为一个 IMAP/POP3/SMTP 代理服务器。Nginx 是由 Igor Sysoev 开发的,最

    2024年01月21日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包