以下内容仅为个人学习记录,也参考了其他大佬的文章笔记,不适合原样复制套用= =
docker创建nexus
docker run -d -p 9081:8081 --name nexus \
--restart=always \
-e INSTALL4J_ADD_VM_PARAMS="-Xms512m -Xmx512m \
-XX:MaxDirectMemorySize=512m \
-Djava.util.prefs.userRoot=/nexus-data/javaprefs" \
-v /data/nexus-data:/nexus-data sonatype/nexus3
设置了jvm内存参数,需要加上-Djava.util.prefs.userRoot=/nexus-data/javaprefs,否则启动会有以下提示警告或者报错
nexus Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
docker创建es+kibana
创建es+kibana网络
docker network create es-net
创建es
先创建一个模板应用,拷贝出容器中的配置文件信息
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.9.1
宿主机创建es配置文件目录,并从容器中拷贝模板应用的配置文件,以及授予目录及子目录文件读取权限
cd /data/
mkdir elasticsearch
cd elasticsearch
cd /data/elasticsearch
docker cp elasticsearch:/usr/share/elasticsearch/config .
docker cp elasticsearch:/usr/share/elasticsearch/data .
docker cp elasticsearch:/usr/share/elasticsearch/plugins .
chmod -R 777 elasticsearch
es使用的是7.9.1版本
docker run --name=elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
--network es-net \
--restart=always \
-d elasticsearch:7.9.1
进入es容器
docker exec -it -u root elasticsearch bash
创建kibana
kibana使用的也是与es一致的版本7.9.1
在宿主机创建es配置文件目录与es创建配置文件目录类似,以下为拷贝容器中的配置文件到宿主机
docker cp kibana:/usr/share/kibana/config/ /data/kibana/
修改kibana配置文件:
将kibana.yml中的es主机地址修改为docker内部的IP
elasticsearch.hosts: [ "http://172.17.0.1:9200" ]
查看docker内部IP命令
ip address
如下图所示
创建容器并启动
docker run -d \
--name kibana \
-v /data/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml \
--network=es-net \
--restart=always \
-p 5601:5601 \
kibana:7.9.1