我有一台服务器,在其中运行一些带有卷的容器。我的所有卷都在,/var/lib/docker/volumes/因为 docker 正在管理它。我使用 docker-compose 来启动我的容器。
最近,我试图停止我的一个容器,但这是不可能的:
$ docker-compose down
[17849] INTERNAL ERROR: cannot create temporary directory!
Run Code Online (Sandbox Code Playgroud)
因此,我检查了数据如何安装在服务器上:
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7,8G 0 7,8G 0% /dev
tmpfs 1,6G 1,9M 1,6G 1% /run
/dev/md3 20G 19G 0 100% /
tmpfs 7,9G 0 7,9G 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 7,9G 0 7,9G 0% /sys/fs/cgroup
/dev/md2 487M 147M 311M 33% /boot
/dev/md4 1,8T 1,7G 1,7T 1% /home
tmpfs 1,6G 0 …Run Code Online (Sandbox Code Playgroud) 实际上,我像这样运行我的容器,例如:
docker run -v /nexus-data:/nexus-data sonatype/nexus3
^
Run Code Online (Sandbox Code Playgroud)
阅读文档后,我发现完全由 docker 管理的卷。出于某些原因,我想改变运行我的容器的方式,做这样的事情:
docker run -v nexus-data:/nexus-data sonatype/nexus3
^
Run Code Online (Sandbox Code Playgroud)
我想将我现有的绑定安装转移到卷。
但我不想将数据丢失到/nexus-data文件夹中,是否有可能将此文件夹传输到新卷,而无需重新启动所有内容?因为我也有 Jenkins 和 Sonar 容器,所以我只想改变拥有持久数据的方式。这是一个正确的方法来做到这一点?
我计划在我们的应用程序中使用Java REST客户端。我们的是在Tomcat上运行的Java RESTful应用程序。我们每秒将有很多来自不同用户的对ElasticSearch的搜索请求。最佳做法是-要创建Singleton并在整个应用程序中使用它,或为每个用户创建一个实例?
如果采用Singleton,则可以处理多少个并发请求?这种方法是否可以扩展?
感谢和问候,拉杰什
我正在使用 Jenkins 声明式管道,我想根据环境变量执行一个条件步骤,该变量是根据文件的存在设置的。
所以我只想做这样的事情:如果 Dockerfile 存在,则执行下一阶段,否则不执行。
为了执行此操作,我尝试了:
pipeline {
// ...
stage {
stage('Docker') {
environment {
IS_DOCKERFILE = fileExists 'Dockerfile'
}
when {
environment name: 'IS_DOCKERFILE', value: true
}
stage('Build') {
// ...
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者 :
pipeline {
// ...
stage {
stage('Docker') {
environment {
IS_DOCKERFILE = fileExists 'Dockerfile'
}
when {
expression {
env.IS_DOCKERFILE == true
}
}
stage('Build') {
// ...
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,Dockerfile 都存在并且位于工作区中。我也尝试过使用字符串 ( "true"),但每次,管道都会继续而不执行阶段“构建”。
有什么建议 ?
我需要使用 Jest 客户端进行 Elasticsearch 查询,以将一些术语和日期与范围查询相匹配。因此,我需要使用 Jest 执行带有范围查询的 bool 查询,QueryBuilder以获得这样的请求:
{
"query": {
"range": {
"gte": "begindate",
"lte": "enddate"
},
"bool": {
"must": [
{
"terms": {
"field1": [
55,
99
]
}
},
{
"terms": {
"field2": [
450
]
}
},
{
"terms": {
"field3": [
11
]
}
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
}
为此,我queryBuilder是这样使用的:
Builder search = null;
Search buildedSearch = null;
SearchResult result = null;
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
BoolQueryBuilder qb = …Run Code Online (Sandbox Code Playgroud)