Expose

laravel 跨域解决方案

强颜欢笑 提交于 2020-11-27 09:50:40
我们在用 laravel 进行开发的时候,特别是前后端完全分离的时候,由于前端项目运行在自己机器的指定端口(也可能是其他人的机器) , 例如 localhost:8000 , 而 laravel 程序又运行在另一个端口,这样就跨域了,而由于浏览器的同源策略,跨域请求是非法的。其实这个问题很好解决,只需要添加一个中间件就可以了。 1.新建一个中间件 1 php artisan make:middleware EnableCrossRequestMiddleware 2.书写中间件内容 1 <? php 2 namespace App\Http\Middleware; 3 use Closure; 4 class EnableCrossRequestMiddleware{ 5 /* * 6 * Handle an incoming request. 7 * 8 * @param \Illuminate\Http\Request $request 9 * @param \Closure $next 10 * @return mixed 11 */ 12 public function handle( $request , Closure $next ){ 13 $response = $next ( $request ); 14 $origin = $request ->server(

centos7安装docker及运行springboot项目

好久不见. 提交于 2020-11-22 07:45:48
一.准备 1.检查linux版本:>=centos7 linux内核3.8以上 uname -r 2.卸载旧版本(之前没装过就不用执行了): yum remove docker docker-common docker-selinux docker-engine yum remove docker-ce rm -rf /var/lib/docker 3.更新yum包 yum update 如果报出[Errno 256] No more mirrors to try错误,则解决方案为:执行命令yum clean all 清理客户端yum源配置的缓存,重新运行之前的安装命令进行安装 二.安装依赖软件包 yum install -y yum-utils device-mapper-persistent-data lvm2 三.设置yum包源 yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库) yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)(推荐) 四.更新yum软件索引 yum makecache fast 五

Docker学习笔记之Dockerfile

三世轮回 提交于 2020-11-17 06:34:15
  Dockerfile的编写格式为<命令><形式参数>,命令不区分大小写,但一般使用大写字母。Docker会依据Dockerfile文件中编写的命令顺序依次执行命令。Dockerfile文件中,命令总是以FROM开始。如无FROM命令或FROM命令之前有其它命令,则无法创建镜像。此外,各个命令是独立运行的,即使用RUN cd /home 转移目录,也不会对后面的命令产生影响。   创建镜像时,在Dockerfile所在目录下执行docker build命令。如根据Dockerfile创建一个名为example的镜像: sudo docker build --tag example . #创建镜像   1. .dockerignore   所有与Dockerfile同目录下的文件都称为“上下文”。在创建镜像时,上下文都会被传送到Docker守护进程,所以有必要设置不相关的文件排除在外。如: >>.dockerignore文件 .git hello.txt   2. FROM   FROM用于设置以哪个镜像为基础镜像。Dockerfile创建的镜像是以已有的镜像为基础的。如下所示: >>Dockerfile文件 FROM ubuntu:latest   命令的使用格式为FROM <镜像><标签>或FROM <镜像>。   3. MAINTAINER  

.Net Core 2.2升级3.1的避坑指南

天大地大妈咪最大 提交于 2020-10-27 01:40:09
写在前面   微软在更新.Net Core版本的时候,动作往往很大,使得每次更新版本的时候都得小心翼翼,坑实在是太多。往往是悄咪咪的移除了某项功能或者组件,或者不在支持XX方法,这就很花时间去找回需要的东西了,下面是个人在迁移.Net Core WebApi项目过程中遇到的问题汇总: 开始迁移 1. 修改*.csproj项目文件 <TargetFramework>netcoreapp2. 2 </TargetFramework> 修改为 <TargetFramework>netcoreapp3.1</TargetFramework> 2 修改Program public static void Main( string [] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder( string [] args) => WebHost.CreateDefaultBuilder(args) .UseStartup <Startup>().ConfigureAppConfiguration((hostingContext, config) => { config.AddJsonFile($ " 你的json文件.json " ,

Docker中使用supervisor管理开机自启动(redis && sshd)

拜拜、爱过 提交于 2020-10-25 12:33:52
1、Centos安装Redis参考 http://blog.csdn.net/lsziri/article/details/69389187 2、Dockerfile # Docker for CentOS 7 #Base image FROM hfq/centos7:Jurassic RUN \ wget http://download.redis.io/releases/redis-3.2.8.tar.gz && tar xzf redis-3.2.8.tar.gz \ && cd redis-3.2.8 && yum -y install tcl && make && make install \ && mkdir -p /etc/redis/ #安装supervisor=============================重点================================= RUN yum -y install python-setuptools RUN easy_install supervisor ADD redis.conf /etc/redis/redis.conf ADD supervisord.conf /etc/supervisord.conf EXPOSE 6379 EXPOSE 12007 CMD /usr/bin

Docker学习之“Dockerfile”

人盡茶涼 提交于 2020-10-02 23:49:40
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。 使用Dockerfile定制镜像 1). 手动定制镜像并记录过程中所使用的命令; 2). 编写Dockerfile文件; ​ FROM 定制的镜像使用的母镜像 ​ RUN 运行的命令集 (不同命令可以使用“&&”放在同一个RUN后面,以减少镜像的层数) ​ CMD 容器运行后执行的命令 (命令格式为“[“参数1”,“参数2”,“参数3”...]”) 3). 创建镜像 # docker image build -t <镜像名称> 4). 运行测试 指令详解 FROM FROM image FROM image:tag FROM image@digest FROM为后续指令设置基本镜像。每个有效的Dockerfile文件,必须在文件内首先指定基本镜像。 FROM在同一个Dockerfile文件中可能会出现多次,用于创建多个镜像。 如果在基本镜像“image”后没有“tag”项,则默认使用“latest”(最新)镜像。 MAINTAINER 为生成的镜像指定作者信息,如名字,邮箱等等。 RUN # the command is run in a shell - /bin/sh -c RUN <command> # Executable form RUN ["executable",

Command and Query Responsibility Segregation (CQRS) pattern

☆樱花仙子☆ 提交于 2020-08-18 06:49:46
Command and Query Responsibility Segregation (CQRS) pattern The Command and Query Responsibility Segregation (CQRS) pattern separates read and update operations for a data store. Implementing CQRS in your application can maximize its performance, scalability, and security. The flexibility created by migrating to CQRS allows a system to better evolve over time and prevents update commands from causing merge conflicts at the domain level. The problem In traditional architectures, the same data model is used to query and update a database. That's simple and works well for basic CRUD operations.

让.NetCore程序跑在任何有docker的地方

天涯浪子 提交于 2020-08-18 06:33:52
一.分别在Windows/Mac/Centos上安装Docker Windows上下载地址: https://docs.docker.com/docker-for-windows/install/ (window上安装的常见问题和解决方案请参考下方步骤六) Mac上下载地址: https://hub.docker.com/editions/community/docker-ce-desktop-mac Centos上安装Docker请参考我上篇文章链接: https://www.cnblogs.com/peyshine/p/12915317.html 二.打开vs 新建一个Web程序 这里选择启动docker支持,主要是为了能够自动生成dockerfile文件,如果忘记勾选了也没关系,也可以右键解决方案,点击‘添加’,选择‘docker支持’,vs也会自动为我们生成dockerfile,大概长这个样子 对dockerfile文件解释说明: 1.FROM 通过FROM指令来设置要制作的镜像基于哪个镜像,FROM指令必须是整个Dockerfile的第一个指令,如果指定的镜像不存在默认会自动从Docker Hub上进行拉取 2.WORKDIR 通过workdir指令用于设置Dockerfile中的RUN、CMD和ENTRYPOINT指令执行命令的工作目录(默认为/目录)

Asp.Net Core 发布到 Docker(Linux Centos 虚拟机,使用Dockerfile)

穿精又带淫゛_ 提交于 2020-08-17 16:19:39
实践一下 Asp.Net Core (基于.net core 2.2)部署到Docker 一、准备工作: 1. 使用Virtualbox创建一个Centos系统的虚拟机,并安装docker和vim 2. 配置好端口(如下图,后面需要使用) 3. 准备一个网站发布包(我采用的默认的Asp.Net Core MVC),windows发布时的配置(也可以在linux上进行发布),将发布包放入linux虚拟机(我的路径是:/root/Root/DefaultHttp/publish) 4. 测试一下发布包是否正常(可选,需要在linux安装.net core sdk,如果版本较低,需要使用sudo yum update命令更新) dotnet publish/DefaultHttp.dll 如图显示,是正常的 5. 创建Dockfile文件(路径:/root/Root/DefaultHttp/,即和publish文件夹同级),并把下面的代码放入文件中。 FROM mcr.microsoft.com/dotnet/core/aspnet: 2.2 WORKDIR / app EXPOSE 5000 # 一般情况下必须开放 EXPOSE 80 # 如果使用https,记得打开443端口,但是一般不用 #EXPOSE 443 COPY publish / / app ENTRYPOINT [ "

理解Docker(2):Docker 镜像

笑着哭i 提交于 2020-08-17 05:25:11
本系列文章将介绍Docker的有关知识: (1) Docker 安装及基本用法 (2) Docker 镜像 (3) Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4) Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5) Docker 网络 对于每个软件,除了它自身的代码以外,它的运行还需要有一个运行环境和依赖。不管这个软件是象往常一样运行在物理机或者虚机之中,还是运行在现在的容器之中,这些都是不变的。在传统环境中,软件在运行之前也需要经过 代码开发->运行环境准备 -> 安装软件 -> 运行软件 等环节,在容器环境中,中间的两个环节被镜像制作过程替代了。也就是说,镜像的制作也包括运行环境准备和安装软件等两个主要环节,以及一些其他环节。因此,Docker 容器镜像其实并没有什么新的理论,只是这过程有了新的方式而已。 镜像(image)是动态的容器的静态表示(specification),包括容器所要运行的应用代码以及运行时的配置。Docker 镜像包括一个或者多个只读层( read-only layers ),因此,镜像一旦被创建就再也不能被修改了。一个运行着的Docker 容器是一个镜像的实例( instantiation )。从同一个镜像中运行的容器包含有相同的应用代码和运行时依赖。但是不像镜像是静态的