我正在尝试为SOLR扩展一个docker容器.我只想安装vim
到它.但是当我运行docker build时,它会抱怨我不是root用户.
这是我正在扩展的DockerFile:https: //github.com/makuk66/docker-solr/blob/master/5.3/Dockerfile
我的构建文件是这样的:
FROM makuk66/docker-solr
MAINTAINER OCSCommerce Team <support@ocscommerce.com>
RUN apt-get update
RUN apt-get --assume-yes install vim
COPY home/ocscommerce /etc/solr/home
Run Code Online (Sandbox Code Playgroud)
然后它输出:
192.168.99.100
localhost:solr$ docker build -t ocscommerce/solr .
Sending build context to Docker daemon 39.66 MB
Step 0 : FROM makuk66/docker-solr
---> 92be2fe79f15
Step 1 : MAINTAINER OCSCommerce Team <support@ocscommerce.com>
---> Using cache
---> a3ac70e40324
Step 2 : RUN apt-get update
---> Running in c865716a2694
E: Could not open lock file /var/lib/apt/lists/lock - open …
Run Code Online (Sandbox Code Playgroud) 我有问题让这个工作......
我有一个带占位符的SQL变量:
echo $SQL
SELECT PX_PROMOTION_ID, PRIORITY, STATUS, EXCLSVE, TYPE, PERORDLMT, PERSHOPPERLMT, TOTALLMT, RSV_INT, PX_GROUP_ID, CAMPAIGN_ID, STOREENT_ID, VERSION, REVISION, EFFECTIVE, TRANSFER, CDREQUIRED, EXPIRE, LASTUPDATEBY, TO_CHAR(LASTUPDATE, 'YYYYMMDD HH24MMSS') AS LASTUPDATE, TO_CHAR(STARTDATE, 'YYYYMMDD HH24MMSS') AS STARTDATE, TO_CHAR(ENDDATE, 'YYYYMMDD HH24MMSS') AS ENDDATE, TO_CHAR(RSV_TIME, 'YYYYMMDD HH24MMSS') AS RSV_TIME, RSV_REAL, TGTSALES, NAME, CODE, RSV_VCH, OPTCOUNTER FROM PX_PROMOTION WHERE LASTUPDATE BETWEEN (SELECT MAX(BATCHSTART) FROM XRPTEBATCHCONTROL) AND TIMESTAMP('$BATCH_END')
Run Code Online (Sandbox Code Playgroud)
我有另一个保存值的变量:
echo $BATCH_END
2012-11-14 17:06:13
Run Code Online (Sandbox Code Playgroud)
我想用值替换占位符.我在Unix脚本方面不是特别出色,但我试过这个:
echo $SQL | sed -e "s/'$BATCH_END/$BATCH_END/g"
Run Code Online (Sandbox Code Playgroud)
但它仍然没有被取代......
有人可以帮忙吗?我想替换占位符,并保持最终字符串分配给$ SQL
我还需要知道如何将输出的值返回到变量中,例如,我尝试过:
SQL=`echo "$SQL" | …
Run Code Online (Sandbox Code Playgroud) 关于JSP不接受PUT请求,我遇到了这个问题.所以我想知道如何解决它.我已经在堆栈溢出中读到了这个相关的问题,但它没有解释如何修复它.
HTTP状态405 - JSP仅允许GET POST或HEAD
来自Rails的背景,我正在努力实现这一点,因此我使用了像PUT的rails REST样式进行更新,并使用DELETE来删除User资源.
但是,只要在此控制器中出现错误,它就会尝试将请求返回到原始JSP,但Tomcat 8.0.9不接受请求并提供此错误:"HTTP状态405 - JSP仅允许GET POST或HEAD".我已经尝试在Tomcat web.xml中禁用readonly - 它没有任何效果,我仍然得到错误.我把它切换到POST方法,流程工作正常.
有没有办法可以强制前进为POST方法,同时仍然接受请求的PUT方法?
/**
* Edit a user account.
* @return the edit user view
*/
@RequestMapping(value = {"/update/{userId}"}, method = RequestMethod.PUT)
public String updateUser(@Valid @ModelAttribute("user") User user, BindingResult result, final RedirectAttributes redirectAttributes)
{
logger.debug(user);
// we check for duplicate email addresses during the update operation.
List<User> userCheckList = userRepository.findByEmail(user.getEmail());
if (userCheckList.size() > 0)
{
// size of list should only ever be 1
User userCheck = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将ES6项目迁移到打字稿。这是我在NodeJS中编写打字稿模块的第一次尝试。
到目前为止,它似乎在Angular-CLI中效果更好。
我已经使用命令行对其进行了编译tsc
,但是我不确定如何在代码编辑器中显示错误和智能提示?
在目录中,我有下面显示的两个文件。编译时,按预期方式会引发编译错误:Supplied parameters do not match any signature of cal
l target.
。这可以。
但是VSCode不会在编辑器中显示任何错误,即使我犯了故意的语法错误(如取出括号)或键入此类错误。如何使VSCode在.ts文件的编辑器中显示内联语法或编译器错误?
验证错误
/**
* Wrapper for a particular validation error.
*/
export class ValidationError extends Error {
private type: string;
constructor(error: any) {
super(error);
Error.captureStackTrace(this, this.constructor);
this.message = error.message;
this.type = 'ValidationError';
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我尝试编写简单的规范来测试工作流程:
验证错误
import { ValidationError } from './validation-error';
import * as should from 'should';
describe('Validation Error', () => {
it('should create a new instance', () => {
const …
Run Code Online (Sandbox Code Playgroud) 使用弹性搜索,我正在尝试向distance
地理搜索添加计算字段。我只想在搜索文档中附加一个额外的计算字段,但是当我通过“script_fields”添加计算字段时,只会返回该字段。
我尝试添加通配符字段部分,但它没有影响结果。
如何使此查询返回complete documents
添加了额外计算字段的 ?
GET /ocsm_test/inventory/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_distance": {
"distance": "2km",
"address.geo.location": [],
"loc.address.geo.location": [
151.2165507,
-33.8732887
]
}
}
}
},
"aggs": {
"partNumber": {
"terms": {
"field": "partNumber",
"order": {
"_term": "asc"
}
}
},
"location": {
"terms": {
"field": "loc.identifier",
"order": {
"_term": "asc"
}
}
}
},
"script_fields": {
"distance": {
"params": {
"lat": -33.8732887,
"lon": 151.2165507
},
"script": "doc['loc.address.geo.location'].distanceInKm(lat,lon)" …
Run Code Online (Sandbox Code Playgroud) 我正在使用Intellij 13,我一直很高兴地使用Maven一段时间来管理JAR依赖项.
但是我导入的最后几个导致了类路径问题,并且它们没有被安装到存储库中.
我虽然它可能只是JSONPath库,但是当我尝试安装Selenium驱动程序时,它也发生在那些库中.我检查了本地存储库并且存在目录,但是JAR没有下载.
这种情况最近才开始发生,许多其他依赖项已经安装好(但是因为这个问题开始发生).我真的不确定是什么原因造成的.
有谁知道如何解决这个问题?或者为什么JAR没有安装?我可以从Intellij以某种方式触发更新以尝试重新安装它们吗?
快速编辑:
我尝试使用Intellij的"添加库"功能安装模块.它安装得很好,而在我直接在pom.xml中更新它们之前它正在下载它们.
库函数看起来好一点,因为它会自动将它们添加到我的输出文件中,但如果它还更新了pom以便我可以在intellij环境之外使用它会很好.
所以我不确定为什么更新pom.xml不再工作了...
我正在尝试使用docker stack deploy来部署本地节点应用程序.我正在度过一个很好的工作流程.
我对堆栈部署和与docker hub的关系感到困惑.我很高兴必须在本地构建映像,但推送它是一个问题,因为我的网络速度很慢,图像为169MB.
我的问题是,如果我只是在本地构建映像,那么它是否应该由docker堆栈部署部署?或者我是否总是要将新图像发布到docker hub?nb目前已发布到私人存储库.
我为什么这么问?
我尝试做一个本地docker build -t myname/myimage:latest
,然后重新部署与docker-compose.yml
该引用图像的docker堆栈部署myname/myimage:latest
- 但是另一个图像从24小时前重新出现,即使我在本地使用docker rmi
(一次又一次)删除它.然后,服务无法启动应该在新构建中解决的错误.
我只能认为堆栈部署部署的容器是基于在docker hub中发布的容器而不是本地映像.当然,保持显示的图像大小docker images
与当前在docker hub中的旧图像匹配,而不是新图像.
也许我做错了什么或误解了堆栈部署的工作原理?
刚开始使用React昨天设置了一个演示应用程序.环境是:
我正在尝试设置Bootstrap样式.
我遵循了本教程,但修改它以适应Typescript:
https://medium.com/@victorleungtw/how-to-use-webpack-with-react-and-bootstrap-b94d33765970
一切正常,页面显示登录表单,Bootstrap HTMl由React-Bootstrap输出.但是样式不适用于元素,它只是一个纯HTML页面,没有应用任何Bootstrap样式.我不确定配置中缺少的是什么:
webpack.config.js
我已经在教程中提到的npm添加了加载器,但也调整了从css设置Typescript模块.
module.exports = {
entry: {
catalog: "./src/apps/CatalogApp.tsx",
auth: "./src/apps/AuthApp.tsx"
},
output: {
filename: "[name].bundle.js",
publicPath: "/build/",
path: __dirname + "/dist"
},
// Enable sourcemaps for debugging webpack's output.
devtool: "source-map",
resolve: {
// Add '.ts' and '.tsx' as resolvable extensions.
extensions: [".ts", ".tsx", ".js", ".json"]
},
module: {
rules: [
// All files with a '.ts' or '.tsx' extension will be handled by 'awesome-typescript-loader'.
{
test: /\.tsx?$/,
loader: "awesome-typescript-loader" …
Run Code Online (Sandbox Code Playgroud) 刚刚在角度上下文中打字.您可以在下面的示例中将属性标记为可选吗?您如何建议指定导航项目没有孩子?使用常规JS,我通常会依赖falsey值来检查对象是否具有children
属性.但在Typescript中最好初始化一个空数组?那些可能/可能没有值的其他原始属性呢?
import { Injectable } from '@angular/core';
export class NavItem {
key: string;
text: string;
target: string;
children: NavItem[];
}
const data: NavItem[] = [
{
key: "dashboard",
target: "dashboard",
text: "Dashboard",
children: []
},
{
key: "sales",
target: "sales",
text: "Sales"
}
];
@Injectable()
export class NavService {
getNav() {
return data;
}
}
Run Code Online (Sandbox Code Playgroud) 使用NodeJS弹性搜索客户端.尝试编写数据导入程序以批量导入MongoDB中的文档.我遇到的问题是索引刷新似乎不等到所有文档在检查计数之前写入弹性.
使用节点中的流API将记录读入批处理,然后使用弹性API批处理命令写入记录.如下所示:
function rebuildIndex(modelName, queryStream, openStream, done) {
logger.debug('Rebuilding %s index', modelName);
async.series([
function (next) {
deleteType(modelName, function (err, result) {
next(err, result);
});
},
function (next) {
var Model;
var i = 0;
var batchSize = settings.indexBatchSize;
var batch = [];
var stream;
if (queryStream && !openStream) {
stream = queryStream.stream();
} else if (queryStream && openStream) {
stream = queryStream;
}else
{
Model = mongoose.model(modelName);
stream = Model.find({}).stream();
}
stream.on("data", function (doc) {
logger.debug('indexing %s', doc.userType);
batch.push({
index: …
Run Code Online (Sandbox Code Playgroud) docker ×2
typescript ×2
bash ×1
intellij-13 ×1
maven ×1
reactjs ×1
shell ×1
spring-mvc ×1
webpack-2 ×1