zoukankan      html  css  js  c++  java
  • docker .netcore 项目一键部署

    1:安装docker需要开启虚拟化:

    1)按Windows键后直接输入控制面板

    2)点击控制面板中的程序

    3)点击启用或关闭Windows功能

    4)如图将虚拟化打开(注意:如果不存在Hyper-V,请看第七步)

    5)点击确定,开始安装Hyper-V功能,安装完成后,点击“立即重新启动”,重启电脑。

    6)电脑重启后,就可以在“开始”—“Windows 管理工具”下看到 “Hyper-V”管理器等 Hyper-V 功能。

    7)如果不存在Hyper-V,需要执行我提供的Hyper-V.cmd(右键以管理员身份执行),然后弹出一个 用户帐户控制 - Windows命令处理程序 对话框,我们点击:是;

    8)紧接着进行Windows命令处理,我们等待处理完成以后,在最末处输入:Y,电脑自动重启,进行配置更新。注意:不能关闭计算机。

    9)电脑重启之后,在window管理中可以看到已经成功安装了Hyper-V

    2:安装WSL(未确定是否必须)

    1)根据Windows跳出的提示框或者使用我提供的安装包安装。(就根据提示安装就可以,无其他操作)

    3:安装docker

    1)下载地址:https://docs.docker.com/docker-for-windows/install/

    根据提示安装即可,安装后重启。(此网站是国外的网站,下载慢,可以使用我提供的安装包安装)

    Docker操作手册

    1:docker镜像的加载

    1)在客户现场部署项目时大多数情况都没有网,所以需要在有网的环境下下载好所需要的镜像。例如:ASPNET SDK,nginx等镜像,然后再加载这些镜像。(实际部署直接查看第四步)

    2)拉取镜像到本地命令:docker pull xxx(镜像名称和版本号,例如:docker pull nginx,这个命令默认拉取最新镜像,如果需要指定版本,确定支持的版本需要去dockerHub上查询支持的版本)

    3)导出镜像命令:docker save nginx(要导出的镜像) -o nginx.jar(保存在本地的名称)

    4)导入本地的镜像到docker:docker load -i nginx.ja(如果存在多个需要导入的镜像则依次导入)

    5)查看镜像的命令:docker images(通过此命令可以查看都有哪些镜像,镜像导入是否成功)

    2:docker-compose

    1)docker-compose简介:Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。Compose 通过一个配置文件(docker-compose.yml)来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。Windows自带docker-compose,不需要安装,Linux需要安装。

    2)docker-compose命令介绍:

    docker-compose build:构建(重新构建)项目中的服务容器。

    docker-compose up:运行服务容器。

    docker-compose up -d:在后台运行服务容器。

    docker-compose ps:列出项目中所有容器。

    docker-compose stop:停止正在运行的容器,可以通过docker-compose start再次启动。

    docker-compose down:停止和删除容器。

    docker-compose logs:查看服务容器的输出。

    docker-compose restart:重启服务中的项目。

    docker-compose rm:删除所有(停止状态)的容器。

    docker-compose start:启动已经存在的服务器。

    docker-compose stop:停止运行的容器。

    3)docker-compose.yml介绍

     

    1:version的问题。docker version可以查看docker engine的版本。docker-compse version和docker engine的版本关系如下:目前我们采用3.3。

    2:我们所提供的运行项目的文件结构如图。

    在任意位置创建文件夹,文件夹名称自定义(尽可能见名知意),我在此命名net。

    core文件夹对应的是.net core项目相关配置。

    db文件夹对应的是数据库相关配置,真实部署时不需要此配置(因为我们数据库不会放在docker中,防止数据丢失等问题)

    vue文件夹对应前端项目相关配置。

    aspnet.jar 和 nginx.jar是我们在有网环境下拉取的Nginx和.net core项目所需的镜像导出的包,导出的命令上面已经介绍过了,需要可以去查看,在2-2。

    3:core文件夹介绍:

    1)api为后端项目,由后端开发人员提供。

    2)Dockerfile:Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

    Dockerfile文件讲解:

    注意:在创建Dockerfile文件时不可以有后缀。

    4:vue文件夹介绍

    1)dist文件夹由前端开发人员提供前端项目打好的包。

    2)Dockerfile为前端项目相关配置

    3)nginx.conf:nginx的相关配置

    5:db文件夹介绍:(学习了解即可,部署不需要)

    1)core.sql:core项目的初始化sql脚本

    2)dockerfile:数据库相关配置

    3)mysqld.cnf:这个文件为MySQL安装后自带文件,只需要在文件最后加上lower_case_table_names=1这个就可以解决MySQL区分大小写的问题,改为不区分大小写。

                                                                   Docker部署

    第一步:修改core/api文件夹下的appsettings.json文件的数据库地址

    将截图中的server=后面的地址改为部署机器的地址,userid=root(这个目前就使用root),pwd=root(不是必须为root,与docker-compose.yml文件中MYSQL_ROOT_PASSWORD的值需要相等)。

    第二步:进入开发人员提供的文件夹,在地址栏敲入cmd,然后回车,进入dos窗口。

    第三步:通过导入镜像命令,将nginx和apsnet镜像导入。

    1) docker load -i nginx.jar

    2) docker load -i aspnet.jar

    3) 通过docker images命令查看镜像导入是否成功。

    第四步:执行docker-compose up -d命令来构建镜像启动容器。

    第五步:

    1)通过docker images 命令查看我们的镜像是否存在。

    2)通过docker ps 命令查看容器是否成功启动。

    第六步:使用浏览器打开项目地址,查看是否可以正常使用。

  • 相关阅读:
    VUE集成keycloak和Layui集成keycloak
    iscsi基本命令
    Linux网卡bond模式
    Unmount and run xfs_repair
    Centos7 升级过内核 boot分区无法挂载修
    Centos7 误删除bin/sbin之类的恢复
    QSS 记录
    #pragma 小节
    解决Github打不开问题
    判断数据是否在指定区间内
  • 原文地址:https://www.cnblogs.com/zwbsoft/p/14171280.html
Copyright © 2011-2022 走看看