Step1:
docker pull elastic/filebeat:7.7.1
Step2:
vim /opt/docker/filebeat/filebeat.yml(自己建一下文件夹啥的)
Step3:
mkdir -p /opt/docker/filebeat/data
说明:
#mkdir 是 "make directory" 的缩写,用于创建新的目录。
#-p 参数表示递归创建目录。如果指定的目录的上级目录不存在,也会一并创建。
#/opt/docker/metricbeat/data 是要创建的目录的路径。在这个例子中,它会在 #/opt/docker/metricbeat/ 目录下创建一个名为 data 的子目录。
Step4:
chmod -R 666 /opt/docker/filebeat
说明:
#chmod 是 "change mode" 的缩写,用于修改文件或目录的权限。
#-R 参数表示递归地修改目录及其子目录中的所有文件或目录的权限。
#666 是权限的表示方式之一,每一位数字代表一组权限。在这里,666 表示所有者、所有者所在组和其他用户都具有读写权限,没有执行权限。
Step5:
cd /opt/docker/filebeat/
Step6:
chown 0 filebeat.yml
说明:
#chown 是 "change owner" 的缩写,用于修改文件或目录的所有者和所属组。
#0 是用来表示用户或用户组的 ID 的数字。在大多数系统中,0 表示超级用户或者管理员,也就是 root 用户。
#filebeat.yml 是要修改所有者和所属组的文件名。
Step7:
chmod go-w filebeat.yml
说明:
#chmod 是 "change mode" 的缩写,用于修改文件或目录的权限。
#go-w 中的 go 表示 "group" 和 "other",-w 表示去掉写权限(w)。
Step8:
docker run -itd \
--privileged=true \
--user=root \
--name=sea_filebeat \
--restart=always \
--network=host \
-v /opt/docker/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:rw \
-v /opt/docker/filebeat/data/:/usr/share/filebeat/data/:rw \
-v /opt/docker/logs/:/opt/docker/logs/:rw \
elastic/filebeat:7.7.1
说明:
#docker run: 这是用于在 Docker 中启动一个容器的命令。
#-itd: 这些是选项标志,其含义如下:
#-i: 表示在容器中保持标准输入(stdin)打开。
#-t: 表示在容器中为分配一个终端(terminal)。
#-d: 表示在后台运行容器。
#--privileged=true: 这个选项标志将容器授予了主机的特权,允许容器中的进程访问主机的所有设备。
#--user=root: 这个选项标志指定容器中运行的进程使用 root 用户身份。
#--name=sea_filebeat: 这个选项标志为容器指定了一个名称,即 sea_filebeat。
#--restart=always: 这个选项标志指定容器退出后总是自动重启。
#--network=host: 这个选项标志指定容器使用主机的网络命名空间,与主机共享网络栈。
#-v /opt/docker/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:rw: 这个选项标志指定了一个数据卷(volume),将主机上的 /opt/docker/filebeat/filebeat.yml 文件挂载到容器中的 /usr/share/filebeat/filebeat.yml 文件,并赋予读写权限。
#-v /opt/docker/filebeat/data/:/usr/share/filebeat/data/:rw: 这个选项标志同样指定了一个数据卷,将主机上的 /opt/docker/filebeat/data/ 目录挂载到容器中的 /usr/share/filebeat/data/ 目录,并赋予读写权限。
#-v /opt/docker/logs/:/opt/docker/logs/:rw: 这个选项标志指定了一个数据卷,将主机上的 /opt/docker/logs/ 目录挂载到容器中的 /opt/docker/logs/ 目录,并赋予读写权限。
#elastic/filebeat:7.7.1: 这个是要运行的 Docker 镜像的名称及其版本,即 Elastic 公司提供的 Filebeat 容器镜像的版本号为 7.7.1。
注意:Metricbeat同理(yml文件不同)
补充说明:docker run的时候一定一定要注意,你在yml文件中写的那个读取文件的路径要挂载到docker容器里,不然人家容器又不能去你主机的路径下读文件。