使用资料
目标主机设定
- 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。
安装所需的软件包
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
Copy
使用以下命令来设置稳定的仓库
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Copy
2.安装 Docker Engine-Community
$ sudo yum install docker-ce docker-ce-cli containerd.io
Copy
安装特定版本的 Docker Engine-Community,在存储库中列出可用版本:
$ 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
Copy
通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
Copy
3.启动 Docker。
$ sudo systemctl start docker
Copy
4.安装依赖:
$ yum install libseccomp-devel
Copy
5.运行docker hello-world 测试安装结果
$ sudo docker run hello-world
Copy
二、安装Docker Compose
因为我服务器没有docker compose,所以我要先安装docker compose
1.下载 Docker Compose 的当前稳定版本
$ 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
Copy
2.将可执行权限应用于二进制文件
$ sudo chmod +x /usr/local/bin/docker-compose
Copy
3.创建软链:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Copy
4.测试是否安装成功:
$ docker-compose --version
Copy
遇到问题,原因,解决方案
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 即可
Copy
三、安装Git
因为我服务器没有git,所以我要先安装git
$ yum install curl-devel expat-devel gettext-devel \
openssl-devel zlib-devel
$ yum -y install git-core
$ git --version
Copy
四、用Docker上安装ELK
1.创建一个目录
个人习惯,随意
mkdir elk
Copy
2.git命令拉取部署elk所需资料
$ git clone https://github.com/deviantony/docker-elk.git
Copy
3.进入刚下载的文件夹内
$ cd docker-elk
Copy
4.通过docker-compose创建并启动容器
$ docker-compose up -d
Copy
5.通过docker ps可以看到logstash、elasticsearch、kibana容器已经创建并且启动。
$ docker ps
Copy