- linux安装docker及docker-compose 部署spring boot项目
时而有事儿
dockerlinuxdockerlinuxspringboot
linux系统环境:centos5.14本篇描述的是在centos系统版本下安装docker,如果是ubuntu版本,请看这篇文章:linuxubuntu20安装docker和docker-compose-CSDN博客正文:安装docker和docker-compose安装docker---------运行命名等待安装完成遇到选择直接输入yyuminstall-yyum-utilsdevice-m
- Qlib-Server部署
宋志辉
flaskpythonqlib量化
Qlib-Server部署介绍构建Qlib服务器,用户可以选择:一键部署Qlib服务器逐步部署Qlib服务器一键部署Qlib服务器支持一键部署,用户可以选择以下两种方法之一进行一键部署:使用docker-compose部署在Azure中部署使用docker-compose进行一键部署按照以下步骤使用docker-compose部署Qlib服务器:安装docker,请参考Docker安装。安装doc
- 部署es集群
liushaojiax
elasticsearchjava大数据
我们会在单机上利用docker容器运行多个es实例来模拟es集群。不过生产环境推荐大家每一台服务节点仅部署一个es的实例。部署es集群可以直接使用docker-compose来完成,但这要求你的Linux虚拟机至少有4G的内存空间创建es集群首先编写一个docker-compose文件,内容如下:version:'2.2'services:es01:image:elasticsearch:7.12
- 容器化应用的健康探针(Docker\Docker-Compose\K8S)——筑梦之路
筑梦之路
linux系统运维虚拟化云计算dockerkubernetes容器
Docker应用健康探针:#Dockerfile构建时加入健康检查探针示例如下:FROMnode:11.15.0-alpineMAINTAINERwollensWORKDIR/codeRUNapkupdate&&apkupgrade&&\apkadd--no-cachebashgitcurlHEALTHCHECK--interval=2m--timeout=10s--start-period=5s
- 【Docker】docker | 命令 | 安装docker-compose | 卷 | 镜像存放位置 | volume | 清理空间
hgSuper
LinuxLinuxDocker
-8、拷贝镜像中的文件(镜像->宿主机)1)命令dockercp:2)示例dockercpmysql:/opt/tmp/c.sql/opt/tmp/c.sql~~-7、离线备份、打包下载、load(->tar)1)下载镜像到本地dockersave-ojenkins.tarjenkinsci/blueocean:latest说明1:04540a0bb985为IMAGEID说明2:tar包会在所在目
- Android AMS
shuizhizhiyin
android
Android进阶:一口气读完《Android进阶解密》-掘金AndroidAMS(ActivityManagerService)实现的功能**管理应用程序的生命周期:**启动、停止、暂停、恢复和销毁应用程序。**控制应用程序的启动顺序:**确保应用程序以正确的顺序启动,以避免冲突。**维护应用程序状态:**跟踪应用程序的当前状态(如正在运行、已暂停等)。**管理应用程序权限:**授予和撤销应用程
- ky10 server docker-compose 离线安装
三希
docker容器运维
#离线安装rpm-Uvh--force--nodeps*.rpm出现上图说明安装成功查看版本docker-compose--version
- docker-compose部署rabbitmq配置交换机和队列持久化
菜鸟初啼
dockerjava-rabbitmqrabbitmqdocker
version:"3"services:rabbitmq:container_name:rabbitmqimage:rabbitmq:3.9.24-managementhostname:rabbitmqenvironment:-RABBITMQ_DEFAULT_USER=admin-RABBITMQ_DEFAULT_PASS=111111volumes:-./rabbit/data:/var/li
- docker-compose 启动 mysql 报错 Error starting userland proxy: Bind for 0.0.0.0:3306 failed: port is a...
不伟心
这个是因为mac本地的mysql已经启动了,并且占用了3306端口,这个时候需要进行如下操作:方案1:直接启动一个新的端口,但是使用时会出现错误,不能彻底解决。方案2:找到mac的设置页面然后找到mysql:屏幕快照2019-04-29下午11.44.48.png进入mysql中stopmysqlserver:屏幕快照2019-04-29下午11.44.53.png然后docker-compose
- 微服务学习Day3
Jimmy Ding
Java微服务学习javadocker
文章目录初始DockerDocker介绍Docker与虚拟机镜像和容器Docker的基本操作镜像操作容器命令数据卷挂载数据卷Dockerfile自定义镜像Docker-Compose介绍Docker-Compose部署微服务镜像仓库初始DockerDocker介绍Docker与虚拟机镜像和容器Docker的基本操作镜像操作容器命令数据卷挂载数据卷Dockerfile自定义镜像Docker-Comp
- centos7安装docker-compose
haidi8
docker容器运维
1、下载docker-compose网盘下载:链接:https://pan.baidu.com/s/1pltG3aWiN9zMqYt7ZVyLng提取码:7awd--来自百度网盘超级会员V5的分享2、上传docker-compose文件到/usr/local/bin目录[root@192bin]#ll总用量53892-rwxrwxrwx1rootroot5445384710月1617:27dock
- docker (八)-docker compose容器编排
小关暗器
docker容器运维
在实际工作中,部署一个应用可能需要部署多个容器,一个一个部署非常不方便。dockercompose可以一键部署和启动多个容器,它使用yaml文件来编排服务。github和dockerhub很多项目都提供了docker-compose.yaml文件,我们可以一键部署项目,非常方便。这里可以使用vscode去学习dockercompose的格式一键部署将以下内容保存到本地的docker-compose
- 安装Joplin Server私有化部署(docker)
社畜阿藏405
工具docker容器运维javajoplin
安装JoplinServer私有化部署(docker)前言:老规矩官方文档链接1.首先拥有一个自己的云服务器(如果没有外网访问需求的话就随意吧)安装docker安装方式这里Joplin是使用PostgreSQL数据库的形式,如果没有PostgreSQL库的话,Joplin默认使用的是SQLLite数据库我这里使用的是docker-compose部署用的是官网的demo.yml所以就直接也创建了一个
- 镜像管理工具harbor启动在docker中,应该如何重启?
舒一笑
我这样学运维Dockerdockereureka容器
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。在Docker环境中启动和管理Harbor时,您可能需要重启服务来应用更新或配置更改。以下是在Docker中重启Harbor的步骤:登录到服务器:首先,您需要通过SSH或其他远程访问工具登录到运行Harbor的服务器。定位Harbor的部署目录:Harbor通常通过docker-compose部署,这意味着所有相关的服
- docker-compose学习
up_soul
Compose是一个用于定义和运行多容器Docker应用程序的工具,使用Compose,您可以使用YAML文件来配置应用程序的服务使用Compose基本上是一个三步过程:1、定义您的应用程序环境,Dockerfile以便可以在任何地方进行复制。2、定义构成应用程序的服务,docker-compose.yml以便它们可以在隔离的环境中一起运行3、Rundocker-composeup和Compose
- ArchLinux安装记录
win+arch双系统archlinux
Windows10+ArchLinux安装记录(UEFI启动)华硕天选(windows10+archLinux双系统)文章目录Windows10+ArchLinux安装记录(UEFI启动)安装前的准备1.确保网络环境2.刻录启动U盘3.进入BIOS进行设置4.关闭主板设置中的SecureBoot5.调整启动方式为UEFI6.调整硬盘启动顺序7.准备安装基础安装1.禁用reflector2.再次确保
- Docker 第十六章 : Docker 三剑客之 Compose(二)
半部论语
Docker/K8s云原生实践docker容器运维云原生
第十六章:Docker三剑客之Compose(二)本章知识点:DockerComposeYAML模板文件包含哪些顶层元素与用法、docker-compose常用命令22个。Linux内核:3.10.0-1062.el7.x86_64Dockerversion25.0.0注意:docker-compose=dockercomposeDockerComposeYAML模板文件在DockerCompos
- 使用Docker Compose搭建Redis主从复制
半亩方塘立身
dockerredis
在Docker中搭建Redis主从架构非常方便,下面是一个示例,演示一下如何使用DockerCompose搭建一个Redis主从复制环境。首先,确保我们本地环境已经安装了Docker和DockerCompose。我这里使用OrbStack替代了Dockerdesktop。1.创建一个名为redis的文件夹,并在其中创建一个docker-compose.yml文件。2.在docker-compose
- 【工作记录】基于wait-for.sh控制docker-compose中服务启动顺序的一次实践@20240219
泽济天下
docker容器运维
背景这个问题其实由来已久,尤其是在微服务部署过程中体现的尤为明显,就是服务的启动顺序问题。一个很常见的场景就是微服务启动过程中,应用服务会依赖于配置中心、注册中心、数据库、redis等基础服务,所以这些基础服务应当优先于应用服务启动。还有就是在服务器重启时由于容器设置了自动重启,如果不控制启动顺序的话就就会导致有些服务去读取配置中心配置时,由于配置中心尚未完全启动成功导致应用服务启动中断或者失败。
- 【云原生】Docker-compose单机容器集群编排
站在这别动,我去给你买橘子
云原生容器云原生docker
内容预知1.Compose的相关知识1.Compose的相关概念2.为何需要docker-composedocker镜像管理的问题DockerCompose的解决方案3.Compose的特征2.Docker-compose的安装3.Compose配置常用字段和YAML文件编写3.1YAML文件格式及编写注意事项(1)YAML序列(2)YAML映射(3)序列的映射(4)映射的映射(5)序列的序列(6
- Docker-compose容器编排技术
曹博Blog
Linuxdocker容器运维
一、Docker-Compose的安装1.规划节点IP主机名节点192.168.200.10masterdocker-compose2.基础准备登录OpenStack平台,使用提供的CentOS_7.5_x86_64_XD.qcow2镜像创建云主机,软件包docker-compose.tar.gz上传到/root目录下3.基础环境准备3.1配置yum源上传文件&解压文件&配置yum源#解压文件到/
- docker-compose部署Jenkins/neo4j脚本--持续更新
Lee_SmallNorth
dockerjenkinsservlet
version:'3.7'services:jenkins:image:jenkins/jenkins:latestuser:rootrestart:alwayscontainer_name:jenkinsports:-18080:8080volumes:-/home/jenkins:/var/jenkins_home-/home/apache-maven-3.8.6:/home/apache-m
- ubuntu安装docker及插件docker-compose(详细图文)
荒Huang
ubuntudockerlinux
目录一、摘要二、说明三、安装docker及compose方式一:采用apt存储库安装1.设置Docker的存储库2.1安装最新Docker包及其常用插件docker-compose2.2安装指定Docker包及其常用插件docker-compose(1)列出所有存储库中docker版本(2)安装指定版本3.验证Docker引擎安装是否成功方式二:采用便捷脚本进行安装四、配置镜像加速五、卸载Dock
- mac安装docker-compose
hello_zzw
Macmacosdocker容器
下载资源**下载地址:**https://github.com/docker/compose/releases下载docker-compose-linux-aarch64文件将下载的文件放入指定的目录mvdocker-compose-linux-aarch64/Users/tyyc/docker将文件名修改成docker-composemvdocker-compose-linux-aarch64d
- 记一次PHP并发性能调优实战 -- 性能提升104%
PHP9年架构师
适合阅读人群文中的调优思路无论是php,java,还是其他任何语言都是用.如果你有php使用经验,那肯定就更好了业务背景框架及相应环境laravel5.7,mysql5.7,redis5,nginx1.15centos7.5bbrdocker,docker-compose阿里云4C和8G问题背景php已经开启opcache,laravel也运行了optimize命令进行优化,composer也进行
- 二、docker compose安装
青啊青斯
#docker安装docker容器运维
dockercompose安装dockercompose的所有版本:https://github.com/docker/compose/releases#安装步骤#1.下载dockercompose:v2.5.0是docker-compose版本curl-Lhttps://github.com/docker/compose/releases/download/v2.5.0/docker-compo
- dockerer-compose搭建单机clickhouse集群,工作中最新亲测能用,超详细
迷梦星河
服务及集群搭建大数据dockerlinuxjavaclickhouse
公司这几天让我搭建clickhouse集群,这一周我在公司的角色更像是运维人员搭建集群和服务,一个字干,另外kafka搭建点击这篇,zookeeper集群搭建点击这篇。对于集群搭建来说使用docker来搭建更加方便,这里使用docker-compose来搭建clickhouse集群。由于我自己就一台服务器,那就在一台搭个三分片三副本的集群,这里分二个阶段:准备阶段、搭建阶段。1、准备阶段:连接客户
- docker-compose 镜像间的依赖关系
lpfasd123
linuxdockerjavarabbitmqbrew
问题在编写项目时,镜像之间存在依赖关系,在docker-compose.yml中大多都使用dependson来表示相互之间的依赖,那么问题来了,dependson表示的只是启动前后的关系,而不是镜像进入ready状态,很有可能前启动的要比后启动的跑得慢,导致项目启动失败解决办法当镜像有依赖关系时,可将其启动起来后等待状态,并不停的ping所需服务接口,当ping通之后,在启动相关服务。实例wait
- Halo博客的部署和使用
1前言Halo是一个强大易用的开源建站工具,拥有丰富的主题模板和插件,帮助用户快速搭建属于自己的博客系统。准备CentOS系统服务器(推荐腾讯云服务器)域名SSH工具(推荐FinalShell)注意本文涉及docker和docker-compose的安装,Nginx、MySQL使用宝塔面板安装。2Docker部分安装yum-utils#yum-utils是yum的工具包集合,需要用到其中的yum-
- 区块链docker容器日志定时清理
0X码上链
linux知识区块链技术容器技术
区块链使用docker-compose部署在linux虚拟机(基于centos7),docker运行的日志特别大,大多数日志都是节点同步的日志,没有太大的保留价值,可以同步到ELK后直接清理掉。以下是自动清理脚本,非常管用,一次清理掉了40G的日志。#!/bin/shtime=$(date"+%Y-%m-%d%H:%M:%S")echo"------------------------------
- 继之前的线程循环加到窗口中运行
3213213333332132
javathreadJFrameJPanel
之前写了有关java线程的循环执行和结束,因为想制作成exe文件,想把执行的效果加到窗口上,所以就结合了JFrame和JPanel写了这个程序,这里直接贴出代码,在窗口上运行的效果下面有附图。
package thread;
import java.awt.Graphics;
import java.text.SimpleDateFormat;
import java.util
- linux 常用命令
BlueSkator
linux命令
1.grep
相信这个命令可以说是大家最常用的命令之一了。尤其是查询生产环境的日志,这个命令绝对是必不可少的。
但之前总是习惯于使用 (grep -n 关键字 文件名 )查出关键字以及该关键字所在的行数,然后再用 (sed -n '100,200p' 文件名),去查出该关键字之后的日志内容。
但其实还有更简便的办法,就是用(grep -B n、-A n、-C n 关键
- php heredoc原文档和nowdoc语法
dcj3sjt126com
PHPheredocnowdoc
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Current To-Do List</title>
</head>
<body>
<?
- overflow的属性
周华华
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- 《我所了解的Java》——总体目录
g21121
java
准备用一年左右时间写一个系列的文章《我所了解的Java》,目录及内容会不断完善及调整。
在编写相关内容时难免出现笔误、代码无法执行、名词理解错误等,请大家及时指出,我会第一时间更正。
&n
- [简单]docx4j常用方法小结
53873039oycg
docx
本代码基于docx4j-3.2.0,在office word 2007上测试通过。代码如下:
import java.io.File;
import java.io.FileInputStream;
import ja
- Spring配置学习
云端月影
spring配置
首先来看一个标准的Spring配置文件 applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi=&q
- Java新手入门的30个基本概念三
aijuans
java新手java 入门
17.Java中的每一个类都是从Object类扩展而来的。 18.object类中的equal和toString方法。 equal用于测试一个对象是否同另一个对象相等。 toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.(toString 方法是一个很重要的方法) 19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。
- 《2008 IBM Rational 软件开发高峰论坛会议》小记
antonyup_2006
软件测试敏捷开发项目管理IBM活动
我一直想写些总结,用于交流和备忘,然都没提笔,今以一篇参加活动的感受小记开个头,呵呵!
其实参加《2008 IBM Rational 软件开发高峰论坛会议》是9月4号,那天刚好调休.但接着项目颇为忙,所以今天在中秋佳节的假期里整理了下.
参加这次活动是一个朋友给的一个邀请书,才知道有这样的一个活动,虽然现在项目暂时没用到IBM的解决方案,但觉的参与这样一个活动可以拓宽下视野和相关知识.
- PL/SQL的过程编程,异常,声明变量,PL/SQL块
百合不是茶
PL/SQL的过程编程异常PL/SQL块声明变量
PL/SQL;
过程;
符号;
变量;
PL/SQL块;
输出;
异常;
PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言PL/SQL 是对 SQL 的扩展,sql的执行时每次都要写操作
- Mockito(三)--完整功能介绍
bijian1013
持续集成mockito单元测试
mockito官网:http://code.google.com/p/mockito/,打开documentation可以看到官方最新的文档资料。
一.使用mockito验证行为
//首先要import Mockito
import static org.mockito.Mockito.*;
//mo
- 精通Oracle10编程SQL(8)使用复合数据类型
bijian1013
oracle数据库plsql
/*
*使用复合数据类型
*/
--PL/SQL记录
--定义PL/SQL记录
--自定义PL/SQL记录
DECLARE
TYPE emp_record_type IS RECORD(
name emp.ename%TYPE,
salary emp.sal%TYPE,
dno emp.deptno%TYPE
);
emp_
- 【Linux常用命令一】grep命令
bit1129
Linux常用命令
grep命令格式
grep [option] pattern [file-list]
grep命令用于在指定的文件(一个或者多个,file-list)中查找包含模式串(pattern)的行,[option]用于控制grep命令的查找方式。
pattern可以是普通字符串,也可以是正则表达式,当查找的字符串包含正则表达式字符或者特
- mybatis3入门学习笔记
白糖_
sqlibatisqqjdbc配置管理
MyBatis 的前身就是iBatis,是一个数据持久层(ORM)框架。 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis对JDBC进行了一次很浅的封装。
以前也学过iBatis,因为MyBatis是iBatis的升级版本,最初以为改动应该不大,实际结果是MyBatis对配置文件进行了一些大的改动,使整个框架更加方便人性化。
- Linux 命令神器:lsof 入门
ronin47
lsof
lsof是系统管理/安全的尤伯工具。我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。
有趣的是,lsof也是有着最多
- java实现两个大数相加,可能存在溢出。
bylijinnan
java实现
import java.math.BigInteger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class BigIntegerAddition {
/**
* 题目:java实现两个大数相加,可能存在溢出。
* 如123456789 + 987654321
- Kettle学习资料分享,附大神用Kettle的一套流程完成对整个数据库迁移方法
Kai_Ge
Kettle
Kettle学习资料分享
Kettle 3.2 使用说明书
目录
概述..........................................................................................................................................7
1.Kettle 资源库管
- [货币与金融]钢之炼金术士
comsci
金融
自古以来,都有一些人在从事炼金术的工作.........但是很少有成功的
那么随着人类在理论物理和工程物理上面取得的一些突破性进展......
炼金术这个古老
- Toast原来也可以多样化
dai_lm
androidtoast
Style 1: 默认
Toast def = Toast.makeText(this, "default", Toast.LENGTH_SHORT);
def.show();
Style 2: 顶部显示
Toast top = Toast.makeText(this, "top", Toast.LENGTH_SHORT);
t
- java数据计算的几种解决方法3
datamachine
javahadoopibatisr-languer
4、iBatis
简单敏捷因此强大的数据计算层。和Hibernate不同,它鼓励写SQL,所以学习成本最低。同时它用最小的代价实现了计算脚本和JAVA代码的解耦,只用20%的代价就实现了hibernate 80%的功能,没实现的20%是计算脚本和数据库的解耦。
复杂计算环境是它的弱项,比如:分布式计算、复杂计算、非数据
- 向网页中插入透明Flash的方法和技巧
dcj3sjt126com
htmlWebFlash
将
Flash 作品插入网页的时候,我们有时候会需要将它设为透明,有时候我们需要在Flash的背面插入一些漂亮的图片,搭配出漂亮的效果……下面我们介绍一些将Flash插入网页中的一些透明的设置技巧。
一、Swf透明、无坐标控制 首先教大家最简单的插入Flash的代码,透明,无坐标控制: 注意wmode="transparent"是控制Flash是否透明
- ios UICollectionView的使用
dcj3sjt126com
UICollectionView的使用有两种方法,一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView;另外一种是作为一个视图放在普通的UIViewController里面。
个人更喜欢第二种。下面采用第二种方式简单介绍一下UICollectionView的使用。
1.UIViewController实现委托,代码如
- Eos平台java公共逻辑
蕃薯耀
Eos平台java公共逻辑Eos平台java公共逻辑
Eos平台java公共逻辑
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月1日 17:20:4
- SpringMVC4零配置--Web上下文配置【MvcConfig】
hanqunfeng
springmvc4
与SpringSecurity的配置类似,spring同样为我们提供了一个实现类WebMvcConfigurationSupport和一个注解@EnableWebMvc以帮助我们减少bean的声明。
applicationContext-MvcConfig.xml
<!-- 启用注解,并定义组件查找规则 ,mvc层只负责扫描@Controller -->
<
- 解决ie和其他浏览器poi下载excel文件名乱码
jackyrong
Excel
使用poi,做传统的excel导出,然后想在浏览器中,让用户选择另存为,保存用户下载的xls文件,这个时候,可能的是在ie下出现乱码(ie,9,10,11),但在firefox,chrome下没乱码,
因此必须综合判断,编写一个工具类:
/**
*
* @Title: pro
- 挥洒泪水的青春
lampcy
编程生活程序员
2015年2月28日,我辞职了,离开了相处一年的触控,转过身--挥洒掉泪水,毅然来到了兄弟连,背负着许多的不解、质疑——”你一个零基础、脑子又不聪明的人,还敢跨行业,选择Unity3D?“,”真是不自量力••••••“,”真是初生牛犊不怕虎•••••“,••••••我只是淡淡一笑,拎着行李----坐上了通向挥洒泪水的青春之地——兄弟连!
这就是我青春的分割线,不后悔,只会去用泪水浇灌——已经来到
- 稳增长之中国股市两点意见-----严控做空,建立涨跌停版停牌重组机制
nannan408
对于股市,我们国家的监管还是有点拼的,但始终拼不过飞流直下的恐慌,为什么呢?
笔者首先支持股市的监管。对于股市越管越荡的现象,笔者认为首先是做空力量超过了股市自身的升力,并且对于跌停停牌重组的快速反应还没建立好,上市公司对于股价下跌没有很好的利好支撑。
我们来看美国和香港是怎么应对股灾的。美国是靠禁止重要股票做空,在
- 动态设置iframe高度(iframe高度自适应)
Rainbow702
JavaScriptiframecontentDocument高度自适应局部刷新
如果需要对画面中的部分区域作局部刷新,大家可能都会想到使用ajax。
但有些情况下,须使用在页面中嵌入一个iframe来作局部刷新。
对于使用iframe的情况,发现有一个问题,就是iframe中的页面的高度可能会很高,但是外面页面并不会被iframe内部页面给撑开,如下面的结构:
<div id="content">
<div id=&quo
- 用Rapael做图表
tntxia
rap
function drawReport(paper,attr,data){
var width = attr.width;
var height = attr.height;
var max = 0;
&nbs
- HTML5 bootstrap2网页兼容(支持IE10以下)
xiaoluode
html5bootstrap
<!DOCTYPE html>
<html>
<head lang="zh-CN">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">