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

相关推荐
zh路西法13 分钟前
【现代控制理论与卡尔曼滤波】从状态空间到Python仿真实现
开发语言·python
Vodka~43 分钟前
WSL2 + RViz GPU渲染机械臂
人工智能·python
8Qi81 小时前
hello-agents学习笔记--Memory让Agent拥有记忆
人工智能·python·llm·agent·ai编程·vibecoding
Esaka_Forever1 小时前
Python 完整内存管理机制详解
开发语言·python·spring
Weigang2 小时前
用 LlamaIndex 做 RAG 前,先把 Reader、Index、Retriever 的边界写清楚
人工智能·python·开源
小九九的爸爸2 小时前
前端入门Agent开发,掌握这些Python数据基础就够啦
python·agent
风之所往_2 小时前
Python 3.9 新特性全面总结
python
W是笔名2 小时前
python___容器类型的数据___序列
开发语言·python
aqi002 小时前
15天学会AI应用开发(十一)从TXT文件构建RAG知识库
人工智能·python·大模型·ai编程·ai应用