docker、es数据库

Docker 开源的应用容器引擎

Docker意为"搬运工","构建...装载...运行...任何应用...任何地方"

打包应用以及依赖包到一个可移植的镜像中,发布在 Linux或Windows操作系统的机器

容器是完全使用沙箱机制,相互之间不会有任何接口

Docker在本质上是一个附加系统

容器(container) 只读

镜像(image) 只读

容器 = 镜像 + 可读层

yum-utils是yum的工具包集合,由不同的作者开发,使yum使用起来更加方便和强大

$ sudo yum install -y yum-utils

帮助手册

docker --help

安装

yum install docker 安装

docker服务器启动

service docker start

关闭docker

service docker stop

使用docker运行名为hello-world的镜像

docker run hello-world

查看docker版本

docker -v

docker --version

docker运行相关信息

docker info

列出所有镜像

docker images

删除本地镜像

docker rmi +镜像名

列出本地容器

docker ps

搜索

docker search +镜像名

下载

docker pull +镜像名

启动某个镜像

docker run +镜像名

查看容器结果记录

docker logs +容器名

docker run相当于执行了两步操作:

1.将镜像放入容器中(docker create)

2.然后将容器启动,使之变成运行时容器(docker start)

docker start的作用是,重新启动被停止的容器

docker start +容器名

删除已经停止的容器

docker rm +容器名

查看容器日志

docker logs +容器名

容器改名,旧名字改为新名字

docker rename old_name new_name

镜像大小个数

docker system df

更改docker镜像源

vim /etc/docker/daemon.json

以上文件下加入以下镜像源

{

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn", "https://reg-mirror.qiniu.com"]

}

虚拟机创建新用户enen

useradd enen

passwd enen

删除用户testuser

userdel testuser

未增加用户名时,默认切换到root用户下

su +用户名

hello-world下载运行成功

但是docker images有,docker ps没有显示

Linux下docker 容器退出bash的两种实现方法

Ctrl + d 退出并停止容器;

Ctrl + p + q 退出并在后台运行容器;

es数据库

docker search docker.io/elasticsearch

docker pull elasticsearch:7.7.0

简单运行:只挂后台,环境设为单机运行,映射端口只有一个,加镜像id

docker run -d -e "discovery.type=single-node" -p 9200:9200 7ec

docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0

--name:设置镜像启动后的容器名称

-itd -i -t -d的缩写

-i 以交互模式运行容器,通常与-t同时使用

-t 为容器重新分配一个伪输入终端,通常与-i同时使用

-d 后台运行容器,并返回容器ID,也即启动守护式容器

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-e: 指定容器内的环境变量

单机运行: discovery.type=single-node

加大内存设置:-e ES_JAVA_OPTS="-Xms512m -Xmx512m"

es镜像版本名称,用于识别,id也可以:elasticsearch:7.7.0

测试节点启动成功

http://192.168.91.120:9200/

查看集群节点

http://192.168.91.120:9200/_cluster/state?pretty

查看集群健康状态

http://192.168.91.120:9200/_cluster/health?pretty

https://blog.csdn.net/qq_40942490/article/details/111594267

改解决方法未解决任何问题,还未搞清楚

产生这个问题的原因是因为ES的安全机制问题,解决办法如下所示

(注意:ES禁止Linux使用root用户启动,因此必须使用非root用户启动):

vi /etc/security/limits.conf

末尾加上以下四行

esyonghu soft nofile 65536

esyonghu hard nofile 65536

esyonghu soft nproc 4096

esyonghu hard nproc 4096

cd /etc/security/limits.d

vi 20-nproc.conf

修改某一行的*为用户名

-# Default limit for number of user's processes to prevent

-# accidental fork bombs.

-# See rhbz #432903 for reasoning.

* soft nproc 4096

root soft nproc unlimited

将*号改成用户名

esyonghu soft nproc 4096

root soft nproc unlimited

vi /etc/sysctl.conf

增加以下一行在末尾

vm.max_map_count = 655360

sysctl -p

根据上面命令查看是否修改成功

vm.max_map_count = 655360

相关推荐
我没想到原来他们都是一堆坏人23 分钟前
(未完待续...)如何编写一个用于构建python web项目镜像的dockerfile文件
java·前端·python
总有刁民想爱朕ha1 小时前
车牌模拟生成器:Python3.8+Opencv代码实现与商业应用前景(C#、python 开发包SDK)
开发语言·python·数据挖掘
人衣aoa2 小时前
Python编程基础(八) | 类
开发语言·python
大模型真好玩2 小时前
深入浅出LangGraph AI Agent智能体开发教程(四)—LangGraph全生态开发工具使用与智能体部署
人工智能·python·mcp
百锦再2 小时前
脚本语言的大浪淘沙或百花争艳
java·开发语言·人工智能·python·django·virtualenv·pygame
程序猿阿伟2 小时前
《云原生微服务治理进阶:隐性风险根除与全链路能力构建》
微服务·云原生·架构
掘技术3 小时前
十个 Python 案例分享
python
Dontla3 小时前
Dockerfile解析器指令(Parser Directive)指定语法版本,如:# syntax=docker/dockerfile:1
java·docker·eureka
ZZHow10244 小时前
02OpenCV基本操作
python·opencv·计算机视觉
计算机学长felix5 小时前
基于Django的“酒店推荐系统”设计与开发(源码+数据库+文档+PPT)
数据库·python·mysql·django·vue