最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker安裝elasticsearch報(bào)錯(cuò)AccessDeniedException:/tmp/elasticsearch的解決

 更新時(shí)間:2025年10月24日 09:51:37   作者:嗷大貓...  
在使用Docker安裝Elasticsearch 7.7.1時(shí)遇到權(quán)限問(wèn)題,通過(guò)設(shè)置環(huán)境變量、修改掛載目錄權(quán)限、進(jìn)入容器排查問(wèn)題以及使用docker-compose最終解決了問(wèn)題

docker安裝elasticsearch報(bào)錯(cuò)

按照elasticsearch的官方文檔用docker安裝7.7.1版本的es,報(bào)錯(cuò)

(順帶說(shuō)以下,如果我把鏡像的版本換成最新的7.12.1,不會(huì)報(bào)錯(cuò)。用7.7.1的就會(huì)報(bào)錯(cuò))

[root@webapi4-app-22-151 workspace]# docker run -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” docker.elastic.co/elasticsearch/elasticsearch:7.7.1
Exception in thread “main” java.nio.file.AccessDeniedException: /tmp/elasticsearch-8523317643108022907
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:389)
at java.base/java.nio.file.Files.createDirectory(Files.java:694)
at java.base/java.nio.file.TempFileHelper.create(TempFileHelper.java:135)
at java.base/java.nio.file.TempFileHelper.createTempDirectory(TempFileHelper.java:172)
at java.base/java.nio.file.Files.createTempDirectory(Files.java:1011)
at org.elasticsearch.tools.launchers.Launchers.createTempDirectory(Launchers.java:66)
at org.elasticsearch.tools.launchers.TempDirectory.main(TempDirectory.java:54)

大概搜了下這個(gè)問(wèn)題,別人的報(bào)錯(cuò)都是/usr/share/elasticsearch目錄,而我的是/tmp目錄,不太一樣.

我用別人的解決方法

  • 設(shè)置環(huán)境變量TAKE_FILE_OWNERSHIP=true
  • 容器內(nèi)chown -R 1000:0 /usr/share/elasticsearch/{data,logs}
  • 把宿主機(jī)的掛載目錄權(quán)限設(shè)置成777

這三種辦法不管用,還是報(bào)錯(cuò),所以,使出絕招,進(jìn)入容器里面排錯(cuò).

啟動(dòng)一個(gè)臨時(shí)容器,默認(rèn)執(zhí)行命令/bin/bash

默認(rèn)執(zhí)行命令變成了/bin/bash,而不是docker-entrypoint.sh,容器主進(jìn)程是/bin/bash所以容器不會(huì)遇到錯(cuò)誤導(dǎo)致退出

[root@webapi4-app-22-151 workspace]# docker run -itd -e “discovery.type=single-node” docker.elastic.co/elasticsearch/elasticsearch:7.7.1 /bin/bash
5f733625a5808d15c8895cb12ddf94845f5f1b57960edd1d224544cf8da08bab
[root@webapi4-app-22-151 workspace]# docker exec -it 5f7 bash
[root@5f733625a580 elasticsearch]#
#執(zhí)行es容器的啟動(dòng)腳本,報(bào)錯(cuò)
[root@5f733625a580 elasticsearch]# sh /usr/local/bin/docker-entrypoint.sh

就是出現(xiàn)的這個(gè)錯(cuò)誤,/tmp目錄

然后在容器里給/tmp目錄授權(quán)777,重新執(zhí)行腳本

[root@5f733625a580 elasticsearch]# chmod 777 /tmp
[root@5f733625a580 elasticsearch]# sh /usr/local/bin/docker-entrypoint.sh

報(bào)了新的錯(cuò)誤

Error opening log file ‘logs/gc.log’: Permission denied

給容器內(nèi)的/usr/share/elasticsearch目錄設(shè)置權(quán)限

[root@5f733625a580 elasticsearch]# chown -R 1000:0 /usr/share/elasticsearch/
[root@5f733625a580 elasticsearch]# sh /usr/local/bin/docker-entrypoint.sh

最后elasticsearch服務(wù)啟動(dòng)成功

總結(jié): 先配置

chmod 777 /tmp
chown -R 1000:0 /usr/share/elasticsearch/

這兩條命令再執(zhí)行腳本docker-entrypoint.sh

解決問(wèn)題后

使用docker-compose安裝,docker-compose.yml:

version: '2'
services:
  es:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.7.1
    container_name: es
    ports:
    - 9200:9200
    environment:
    - discovery.type=single-node
    - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
    - /data/elk/es/data:/usr/share/elasticsearch/data
    command:
    - /bin/bash 
    - -c 
    - |  
        chmod 777 /tmp
        chown -R 1000:0 /usr/share/elasticsearch/
        sh /usr/local/bin/docker-entrypoint.sh

啟動(dòng)成功

[root@webapi4-app-22-151 workspace]# docker-compose up -d
Creating es … done
[root@webapi4-app-22-151 workspace]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
062266bf95cd docker.elastic.co/elasticsearch/elasticsearch:7.7.1 “/tini – /usr/local…” 2 seconds ago Up 2 seconds 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 9300/tcp es
[root@webapi4-app-22-151 workspace]# curl localhost:9200
{
“name” : “062266bf95cd”,
“cluster_name” : “docker-cluster”,
“cluster_uuid” : “ndgcRUCJTb6pNWUeJRCMLw”,
“version” : {
“number” : “7.7.1”,
“build_flavor” : “default”,
“build_type” : “docker”,
“build_hash” : “ad56dce891c901a492bb1ee393f12dfff473a423”,
“build_date” : “2020-05-28T16:30:01.040088Z”,
“build_snapshot” : false,
“l(fā)ucene_version” : “8.5.1”,
“minimum_wire_compatibility_version” : “6.8.0”,
“minimum_index_compatibility_version” : “6.0.0-beta1”
},
“tagline” : “You Know, for Search”
}

目前暫時(shí)解決了這個(gè)問(wèn)題,但是應(yīng)該有更優(yōu)的解決方法

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker鏡像瘦身大小從1.43 GB減少到22.4MB

    Docker鏡像瘦身大小從1.43 GB減少到22.4MB

    本文主要介紹了 Docker鏡像瘦身大小從1.43 GB減少到22.4MB,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • docker交叉編譯工具鏈解讀

    docker交叉編譯工具鏈解讀

    使用Docker容器進(jìn)行交叉編譯具有環(huán)境隔離、一致性、可移植性和簡(jiǎn)化配置等優(yōu)勢(shì),以下是一個(gè)示例的Dockerfile,用于創(chuàng)建一個(gè)包含C++11 ARM交叉編譯工具鏈的Docker容器,構(gòu)建完成后,可以在容器中進(jìn)行ARM交叉編譯
    2024-12-12
  • 兩小時(shí)入門(mén)Docker教程實(shí)踐

    兩小時(shí)入門(mén)Docker教程實(shí)踐

    這篇文章主要介紹了兩小時(shí)入門(mén)Docker教程實(shí)踐,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Docker容器不斷重啟問(wèn)題解決

    Docker容器不斷重啟問(wèn)題解決

    本文主要介紹了使用docker-compose.yml配置文件啟動(dòng)容器時(shí)遇到的問(wèn)題,卷標(biāo)沖突和容器無(wú)法啟動(dòng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Docker自定義鏡像的實(shí)現(xiàn)步驟(SpringBoot程序?yàn)槔?

    Docker自定義鏡像的實(shí)現(xiàn)步驟(SpringBoot程序?yàn)槔?

    Docker自定義鏡像指的是用戶根據(jù)自己的需求和規(guī)范,使用Dockerfile或其他方式創(chuàng)建的一個(gè)Docker鏡像,本文給大家介紹了Docker自定義鏡像的實(shí)現(xiàn)步驟,文中通過(guò)圖文講解的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Docke更新應(yīng)用程序的過(guò)程詳解

    Docke更新應(yīng)用程序的過(guò)程詳解

    這篇文章主要介紹了Docke更新應(yīng)用程序,在本節(jié)中,您學(xué)習(xí)了如何更新和重建容器,以及如何停止和刪除容器,需要的朋友可以參考下
    2023-11-11
  • docker?掛載、修改文件的步驟

    docker?掛載、修改文件的步驟

    這篇文章主要介紹了docker?掛載、修改文件的步驟,咱們使用的是docker的 copy 命令從容器中 copy 出來(lái)相關(guān)的配置文件,在本地修改,修改完畢在使用docker的 copy 命令從本地 copy 到容器中,重啟容器生效的,需要的朋友可以參考下
    2023-03-03
  • 淺談Docker基礎(chǔ)之?dāng)?shù)據(jù)管理

    淺談Docker基礎(chǔ)之?dāng)?shù)據(jù)管理

    這篇文章主要介紹了淺談Docker基礎(chǔ)之?dāng)?shù)據(jù)管理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Docker+K8s集成部署的實(shí)戰(zhàn)

    Docker+K8s集成部署的實(shí)戰(zhàn)

    本文詳細(xì)介紹了Docker與Kubernetes在企業(yè)級(jí)生產(chǎn)環(huán)境中的集成部署實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05
  • 如何使用Docker快速搭建服務(wù)器環(huán)境

    如何使用Docker快速搭建服務(wù)器環(huán)境

    這篇文章主要介紹了使用Docker快速搭建服務(wù)器環(huán)境的詳細(xì)步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

伊宁县| 杭锦后旗| 仁寿县| 高青县| 桂平市| 承德市| 方正县| 上犹县| 武义县| 灵台县| 皋兰县| 巴林右旗| 宿州市| 宣化县| 洛川县| 明光市| 綦江县| 金山区| 乐至县| 黑龙江省| 罗甸县| 大城县| 南京市| 松溪县| 开远市| 屯昌县| 潮安县| 来宾市| 衡南县| 乌兰察布市| 邵阳县| 白水县| 阳城县| 建德市| 新丰县| 汝州市| 安徽省| 绵竹市| 南陵县| 秭归县| 肥城市|