Docker 、jhipster-console 快速elk日誌搭建

Ubuntu 14.04 16.04 (使用apt-get進行安裝)
血淚教訓 : 不要用fish 好多權限拿不到,不解析。
step 0:卸載舊版本docker
全新安裝時,無需執行該步驟

sudo apt-get remove docker docker-engine docker.io

step 1: 安裝必要的一些系統工具

sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

step 2: 安裝GPG證書

sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

Step 3: 寫入軟件源信息

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

Step 4: 更新並安裝 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

安裝指定版本的Docker-CE:

# Step 1: 查找Docker-CE的版本:
# sudo apt-cache madison docker-ce
#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安裝指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]

Step 5: 安裝校驗

root@aaa:$ sudo docker version
Client:
 Version:      17.03.0-ce
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64
 
Server:
 Version:      17.03.0-ce
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64
 Experimental: false

1

參考地址:

https://yq.aliyun.com/articles/110806

二、docker-compose安裝
轉載地址: https://blog.csdn.net/nimoyaoww/article/details/79155489
1、下載docker-compose

sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2、授權

sudo chmod +x /usr/local/bin/docker-compose

3、查看版本信息

docker-compose --version

顯示出版本信息,即安裝成功。
docker-compose命令執行錯誤的解決(Couldn’t connect to Docker daemon at http+unix://var/run/docker.sock)
在命令行中直接執行docker-compose時可能會報出以下錯誤:

[exec] Couldn’t connect to Docker daemon at http+unix://var/run/docker.sock - is it running?
[exec]
[exec] If it’s at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
[exec] Result: 1

解決方法:

sudo vin /etc/default/docker

修改下面的參數:

DOCKER_OPTS="-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock"

問題描述:
doker啓動時,報錯:docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for init caused “exit status 23"”: unknown.

環境:Ubuntu 14.04

原因
docker的版本和linux的內核版本不兼容
解決辦法

升級linux內核,執行下列命令

sudo apt-get install --install-recommends linux-generic-lts-xenial

注意,更新了內核後,需要重啓系統。

reboot

重啓docker服務:

sudo service docker restart

安裝JHipster Console
下載JHipster Console的docker-compose文件:

sudo curl -O https://raw.githubusercontent.com/jhipster/jhipster-console/master/bootstrap/docker-compose.yml

啓動:

 sudo docker-compose up -d

停止:

 sudo docker-compose stop

需要注意的是JHipster Console幾個相關的項目之間是互相調用的,採用官方的docker-compose文件啓動默認是可以互相調用的,如果有問題一般出現在系統上其他服務佔用了端口。或者自己調整地址和端口後修改一下配置文件即可。主要的服務和端口有:

jhipster-elasticsearch

es服務端口:9200
jhipster-logstash

logstash API 端口:9600
tcp 日誌收集端口:5000
http 日誌收集端口:5001
jhipster-console

web訪問端口:5601
zipkin

web訪問端口:9411
配置JHipster Console

jhipster:
    metrics:
        jmx.enabled: true
        graphite: # Send metrics to a Graphite server
            enabled: true
            host: localhost
            port: 2003
            prefix: jhipster
        prometheus: # Expose Prometheus metrics on the /prometheusMetrics endpoint
            enabled: true
            endpoint: /prometheusMetrics

root@ubuntu1404:/data# sudo docker-compose up -d
WARNING: The state variable is not set. Defaulting to a blank string.
Starting data_jhipster-alerter_1 …
Starting data_jhipster-curator_1 …
Starting data_jhipster-logstash_1 …
Starting data_jhipster-elasticsearch_1 …
Starting data_jhipster-zipkin_1 …
Starting data_jhipster-curator_1 … error
回出現兩個錯誤 從問題應該是代碼拉去 是國外問題,不能完全成功,還有就是docker 於ubuntu 版本不一致問題,目前不影響elk 日誌使用 暫時沒找到好的解決方式,後期回更新。
ERROR: for data_jhipster-curator_1 Cannot start service jhipster-curator: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:297: copying bootstrap data to pipe Starting data_jhipster-alerter_1 … error

ERROR: for data_jhipster-alerter_1 Cannot start service jhipster-alerter: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for Starting data_jhipster-console_1 … error

docker: Error response from daemon: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/6602807a7f1a03689a847741b0a10171788f7bed2aa92a4dff35c429b02248d1/log.json: no such file or directory): docker-runc did not terminate sucessfully: docker-runc: symbol lookup error: docker-runc: undefined symbol: seccomp_version

解決方法:

升級系統到7.4,即可解決

執行yum update,時間比較長,耐心等待。

[root@bogon ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

[root@bogon ~]# docker run -it centos echo haha

還有一個解決方法時安裝低版本的docker,docker與操作系統的版本依賴性特別強,在安裝時務必要注意!

外國人是這樣解釋的:

RHEL 7.2 is no longer supported and Docker does not test their release against unsupported versions. You need to upgrade your OS, preferably to 7.4, to resolve this issue.

I’ve seen a few people with similar issues in the past few days that resolved this same error message by upgrading their OS. Some of the older packages no longer work with newer docker releases. One of those problems is an outdated libseccomp: https://github.com/moby/moby/issues/35906

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章