本文最后更新于:2024年5月19日 下午
使用资料
目标主机设定
- Docker Engine版本17.05+
- Docker Compose版本1.12.0+
- 1.5 GB的RAM
默认端口号
- 5000: Logstash TCP input
- 9200: Elasticsearch HTTP
- 9300: Elasticsearch TCP transport
- 5601: Kibana
一、安装 Docker Engine
因为我服务器没有docker engine,所以我要先安装docker engine
1.设置仓库
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
安装所需的软件包
1 2 3
| $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
|
使用以下命令来设置稳定的仓库
1 2 3
| $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
|
1
| $ sudo yum install docker-ce docker-ce-cli containerd.io
|
安装特定版本的 Docker Engine-Community,在存储库中列出可用版本:
1 2 3 4 5 6
| $ yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
|
通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。
1
| $ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
|
3.启动 Docker。
1
| $ sudo systemctl start docker
|
4.安装依赖:
1
| $ yum install libseccomp-devel
|
5.运行docker hello-world 测试安装结果
1
| $ sudo docker run hello-world
|
二、安装Docker Compose
因为我服务器没有docker compose,所以我要先安装docker compose
1.下载 Docker Compose 的当前稳定版本
1
| $ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
2.将可执行权限应用于二进制文件
1
| $ sudo chmod +x /usr/local/bin/docker-compose
|
3.创建软链:
1
| $ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
4.测试是否安装成功:
遇到问题,原因,解决方案
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| a.报错:运行docker-compose --version出现:
Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg
b.原因:使用官方文档中所描述的方法:
curl -L https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-`uname -s`-`uname -m` /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 安装时,curl下载下来的文件是不完整的
c.解决方法:
手动下载:https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64 然后将文件上传到 /usr/local/bin/ 文件夹下,然后将其重命名为docker-compose,修改此文件的权限,增加可执行:
chmod +x /usr/local/bin/docker-compose
然后再运行$ docker-compose --version 即可
|
三、安装Git
因为我服务器没有git,所以我要先安装git
1 2 3 4 5 6
| $ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel
$ yum -y install git-core
$ git --version
|
四、用Docker上安装ELK
1.创建一个目录
个人习惯,随意
2.git命令拉取部署elk所需资料
1
| $ git clone https://github.com/deviantony/docker-elk.git
|
3.进入刚下载的文件夹内
4.通过docker-compose创建并启动容器
5.通过docker ps可以看到logstash、elasticsearch、kibana容器已经创建并且启动。
6.关于elasticsearch、logstash、kibana的配置都在对应目录下的config文件夹中的.yml文件中