欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker-compose java.net.UnknownHostException問題

 更新時間:2024年05月13日 16:00:40   作者:胖胖胖胖胖虎  
這篇文章主要介紹了docker-compose java.net.UnknownHostException問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

docker-compose java.net.UnknownHostException

在這里插入圖片描述

historyserver      | Caused by: java.lang.RuntimeException: Could not resolve Kerberos principal name: java.net.UnknownHostException: historyserver: historyserver: Name or service not known
historyserver      |    at org.apache.hadoop.security.AuthenticationFilterInitializer.getFilterConfigMap(AuthenticationFilterInitializer.java:90)
historyserver      |    at org.apache.hadoop.http.HttpServer2.getFilterProperties(HttpServer2.java:454)
historyserver      |    at org.apache.hadoop.http.HttpServer2.constructSecretProvider(HttpServer2.java:445)
historyserver      |    at org.apache.hadoop.http.HttpServer2.<init>(HttpServer2.java:339)
historyserver      |    ... 8 more
historyserver      | Caused by: java.net.UnknownHostException: historyserver: historyserver: Name or service not known
historyserver      |    at java.net.InetAddress.getLocalHost(InetAddress.java:1496)
historyserver      |    at org.apache.hadoop.security.SecurityUtil.getLocalHostName(SecurityUtil.java:190)
historyserver      |    at 
...

注釋 network_mode: ‘host’

[root@localhost module]# cat docker-compose-hadoop-cluster.yaml
version: "2.2"
services:
  namenode:
    image: bde2020/hadoop-namenode:1.1.0-hadoop2.7.1-java8
    hostname: namenode
    container_name: namenode
    ports:
      - 9000:9000
      - 50070:50070
    restart: always
    #network_mode: 'host'
    environment:
      - CLUSTER_NAME=test
      - HDFS_CONF_dfs_permissions=false
    env_file:
      - ./hadoop.env

  resourcemanager:
    image: bde2020/hadoop-resourcemanager:1.1.0-hadoop2.7.1-java8
    hostname: resourcemanager
    container_name: resourcemanager
    ports:
      - 8030:8030
      - 8031:8031
      - 8032:8032
      - 8033:8033
      - 8088:8088
    restart: always
    #network_mode: 'host'
    depends_on:
      - namenode
      - datanode1
      - datanode2
      - datanode3
    env_file:
      - ./hadoop.env

  historyserver:
    image: bde2020/hadoop-historyserver:1.1.0-hadoop2.7.1-java8
    hostname: historyserver
    container_name: historyserver
    ports:
      - 8188:8188
    restart: always
    #network_mode: 'host'
    depends_on:
      - namenode
      - datanode1
      - datanode2
      - datanode3
    #volumes:
    #  - ./hadoop/historyserver:/hadoop/yarn/timeline
    env_file:
      - ./hadoop.env

  nodemanager1:
    image: bde2020/hadoop-nodemanager:1.1.0-hadoop2.7.1-java8
    hostname: nodemanager1
    container_name: nodemanager1
    ports:
      - 8040:8040
      - 8041:8041
      - 8042:8042
    restart: always
    #network_mode: 'host'
    depends_on:
      - namenode
      - datanode1
      - datanode2
      - datanode3
    env_file:
      - ./hadoop.env


  datanode1:
    image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
    hostname: datanode1
    container_name: datanode1
    restart: always
    #network_mode: 'host'
    environment:
      - HDFS_CONF_dfs_datanode_address=0.0.0.0:50010
      - HDFS_CONF_dfs_datanode_ipc_address=0.0.0.0:50020
      - HDFS_CONF_dfs_datanode_http_address=0.0.0.0:50075
    ports:
      - 50010:50010
      - 50020:50020
      - 50075:50075
    depends_on:
      - namenode
    #volumes:
    #  - ./hadoop/datanode1:/hadoop/dfs/data
    env_file:
      - ./hadoop.env

  datanode2:
    image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
    hostname: datanode2
    container_name: datanode2
    restart: always
    #network_mode: 'host'
    environment:
      - HDFS_CONF_dfs_datanode_address=0.0.0.0:50012
      - HDFS_CONF_dfs_datanode_ipc_address=0.0.0.0:50022
      - HDFS_CONF_dfs_datanode_http_address=0.0.0.0:50072
    ports:
      - 50012:50012
      - 50022:50022
      - 50072:50072
    depends_on:
      - namenode
    #volumes:
    #  - ./hadoop/datanode2:/hadoop/dfs/data
    env_file:
      - ./hadoop.env

  datanode3:
    image: bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8
    hostname: datanode3
    container_name: datanode3
    restart: always
    #network_mode: 'host'
    environment:
      - HDFS_CONF_dfs_datanode_address=0.0.0.0:50013
      - HDFS_CONF_dfs_datanode_ipc_address=0.0.0.0:50023
      - HDFS_CONF_dfs_datanode_http_address=0.0.0.0:50073
    ports:
      - 50013:50013
      - 50023:50023
      - 50073:50073
    depends_on:
      - namenode
    #volumes:
    #  - ./hadoop/datanode3:/hadoop/dfs/data
    env_file:
      - ./hadoop.env

docker compose各參數(shù)配置介紹

Docker Compose 是一個用于定義和運行多個 Docker 容器的工具,通過使用簡單的 YAML 文件來配置應(yīng)用程序的服務(wù)、網(wǎng)絡(luò)和卷等。

使用 Docker Compose 可以方便地定義和管理容器化應(yīng)用程序的服務(wù)棧。在配置文件中,你可以指定各個服務(wù)所需的鏡像、環(huán)境變量、端口映射、數(shù)據(jù)卷掛載等信息。通過一次性執(zhí)行 docker-compose up 命令,Docker Compose 將會自動下載所需的鏡像,并啟動所有服務(wù)。此外,還可以使用 docker-compose down 命令停止服務(wù)并清理容器。

使用 Docker Compose 的好處是,它使得部署和管理多個容器變得簡單而高效。你可以將整個應(yīng)用程序的服務(wù)定義放在一個文件中,便于版本控制和共享。同時,通過 Docker Compose,你可以輕松部署一致性的開發(fā)、測試和生產(chǎn)環(huán)境,減少因環(huán)境差異而造成的問題。

docker compose 各項參數(shù)

  • version: 指定 Docker Compose 文件的版本。例如,version: '3' 表示使用 Docker Compose 文件格式的版本 3。
  • services: 定義各個服務(wù)。在這個部分中,你可以為每個服務(wù)指定名稱、鏡像、環(huán)境變量、端口映射等信息。
  • image: 指定服務(wù)所使用的鏡像。例如,image: nginx:latest 表示使用最新版本的 Nginx 鏡像。
  • environment: 設(shè)置環(huán)境變量。你可以通過 environment 參數(shù)為服務(wù)指定所需的環(huán)境變量及其值。例如,environment: - MYSQL_ROOT_PASSWORD=example 表示設(shè)置 MySQL 服務(wù)的 MYSQL_ROOT_PASSWORD 環(huán)境變量為 "example"。
  • ports: 指定端口映射。通過 ports 參數(shù),你可以將容器內(nèi)部的端口映射到主機的指定端口上。例如,ports: - 8080:80 表示將容器的 80 端口映射到主機的 8080 端口上。
  • volumes: 配置數(shù)據(jù)卷掛載。使用 volumes 參數(shù)可以將容器內(nèi)的路徑與主機上的目錄或卷進行映射。例如,volumes: - ./data:/app/data 表示將主機上的 ./data 目錄掛載到容器的 /app/data 路徑上。
  • networks: 配置網(wǎng)絡(luò)。通過 networks 參數(shù),你可以為服務(wù)指定要連接到的網(wǎng)絡(luò)。這個參數(shù)可用于定義自定義網(wǎng)絡(luò)以及連接到現(xiàn)有網(wǎng)絡(luò)。
  • depends_on: 設(shè)置服務(wù)依賴。使用 depends_on 參數(shù)可以指定服務(wù)之間的依賴關(guān)系。例如,depends_on: - db 表示該服務(wù)依賴于名為 db 的服務(wù)。

這些只是 Docker Compose 配置文件中一些常用的參數(shù)。建議查閱 Docker Compose 官方文檔,了解更多參數(shù)和配置選項的詳細介紹。

代碼演示

services:
    client:
    build:
    context: ./client
    dockerfile: ./Dockerfile
    restart: always
    ports:
 
        - 9540:9540
 
    volumes:
 
        - upload:/usr/share/nginx/html/static
 
    depends_on:
 
        - servers
 
 
servers:
 
    build:
    context: ./servers
    dockerfile: ./Dockerfile
    command: npm run start:docker
    restart: always
 
    ports:
 
        - 8080:8080
 
    volumes:
 
        - upload:/upload
 
    depends_on:
 
        - mysql
        - redis
    
 
 
mysql:
 
    image: mysql
 
    command: mysqld --character-set-server=utf8mb4 --collation-                            
    server=utf8mb4_unicode_ci
 
    restart: always
    
    ports:
 
        - 20003:3306
 
    environment:
 
    MYSQL_ROOT_PASSWORD: 'root'
    MYSQL_DATABASE: 'BASE_DB'
 
    volumes:
 
        - mysql:/var/lib/mysql
        - ./db/kapok.sql:/docker-entrypoint-initdb.d/kapok.sql
 
adminer:
 
    image: adminer
    restart: always
    ports:
    8088:8080
  
redis:
 
    image: redis
    restart: always
 
    ports:
 
        - 20004:6379
 
    volumes:
 
        - redis:/data
  • client 服務(wù):這是一個前端服務(wù),使用了一個 Dockerfile 來構(gòu)建鏡像。它將容器內(nèi)部的 9540 端口映射到主機的 9540 端口上,并將容器內(nèi)的 /usr/share/nginx/html/static 路徑掛載到名為 upload 的數(shù)據(jù)卷上。此服務(wù)依賴于名為 servers 的服務(wù)。
  • servers 服務(wù):這是一個后端服務(wù),同樣使用了一個 Dockerfile 來構(gòu)建鏡像。它通過運行 npm run start:docker 命令來啟動服務(wù)。該服務(wù)將容器內(nèi)部的 8080 端口映射到主機的 8080 端口上,并將容器內(nèi)的 /upload 路徑掛載到名為 upload 的數(shù)據(jù)卷上。此服務(wù)依賴于名為 mysql 和 redis 的服務(wù)。
  • mysql 服務(wù):這是一個 MySQL 數(shù)據(jù)庫服務(wù),使用了官方的 MySQL 鏡像。該服務(wù)將容器內(nèi)部的 3306 端口映射到主機的 20003 端口上,并設(shè)置了一些環(huán)境變量來配置 MySQL 實例。此服務(wù)還將容器內(nèi)的 /var/lib/mysql 路徑掛載到名為 mysql 的數(shù)據(jù)卷上,并將主機上的 ./db/kapok.sql 文件掛載到容器內(nèi)的 /docker-entrypoint-initdb.d/kapok.sql 路徑上。
  • redis 服務(wù):這是一個 Redis 緩存服務(wù),使用了官方的 Redis 鏡像。該服務(wù)將容器內(nèi)部的 6379 端口映射到主機的 20004 端口上,并將容器內(nèi)的 /data 路徑掛載到名為 redis 的數(shù)據(jù)卷上。

最后,還定義了三個數(shù)據(jù)卷 mysql、redis 和 upload,用于持久化存儲數(shù)據(jù)庫數(shù)據(jù)、Redis 數(shù)據(jù)和前端上傳的文件。

總結(jié)

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

相關(guān)文章

  • 如何將本地構(gòu)建好的docker鏡像發(fā)布到dockerhub

    如何將本地構(gòu)建好的docker鏡像發(fā)布到dockerhub

    這篇文章主要介紹了如何將本地構(gòu)建好的docker鏡像發(fā)布到dockerhub,文中通過圖文教程介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • docker上快速搭建gitlab、gitlab-runer及實現(xiàn)CI/CD功能

    docker上快速搭建gitlab、gitlab-runer及實現(xiàn)CI/CD功能

    這篇文章主要介紹了docker上快速搭建gitlab、gitlab-runer及實現(xiàn)CI/CD,本文給大家講解的非常詳細,包括docker上安裝gitlab的相關(guān)操作及配置root賬號密碼,需要的朋友可以參考下
    2022-04-04
  • Docker容器搭建android編譯環(huán)境的實踐記錄

    Docker容器搭建android編譯環(huán)境的實踐記錄

    這篇文章主要介紹了Docker容器搭建android編譯環(huán)境的實踐記錄,主要包括部署容器、鏡像管理、容器管理等相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Docker安裝mysql并解決中文亂碼問題

    Docker安裝mysql并解決中文亂碼問題

    本文主要介紹了Docker安裝mysql并解決中文亂碼問題本人親自測試,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • docker安裝nginx實現(xiàn)對springboot項目的負載均衡的操作方法

    docker安裝nginx實現(xiàn)對springboot項目的負載均衡的操作方法

    這篇文章主要介紹了docker安裝nginx實現(xiàn)對springboot項目的負載均衡的操作方法,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Docker搭建PHP運行環(huán)境完整步驟(圖文教程)

    Docker搭建PHP運行環(huán)境完整步驟(圖文教程)

    PHP是一種廣泛使用的編程語言,被用于Web開發(fā)和服務(wù)器管理等各種用途,而Docker則是一種非常流行的容器化平臺,可以方便地管理應(yīng)用程序和環(huán)境,這篇文章主要給大家介紹了關(guān)于Docker搭建PHP運行環(huán)境的完整步驟,需要的朋友可以參考下
    2023-09-09
  • docker部署SSM項目(含打包)

    docker部署SSM項目(含打包)

    本文主要介紹了docker部署SSM項目,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • docker實現(xiàn)MySQL的主從復(fù)制

    docker實現(xiàn)MySQL的主從復(fù)制

    在學(xué)習(xí)項目的時候?qū)崿F(xiàn)讀寫分離用到了主從復(fù)制,但是一般要實現(xiàn)的話需要虛擬機或服務(wù)器非常麻煩,但是docker可以完美解決這一問題,本文主要介紹了docker實現(xiàn)MySQL的主從復(fù)制,感興趣的可以了解一下
    2024-01-01
  • Docker宿主機與容器之間的文件拷貝實例詳解

    Docker宿主機與容器之間的文件拷貝實例詳解

    現(xiàn)在公司用docker,有時候需要從容器中拷貝文件出來,下面這篇文章主要給大家介紹了關(guān)于Docker宿主機與容器之間的文件拷貝的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • 如何解決安裝docker的yum工具時報錯問題

    如何解決安裝docker的yum工具時報錯問題

    在安裝Docker時遇到y(tǒng)um工具錯誤可通過更新yum源解決,先卸載舊Docker,備份原yum源,下載新的CentOS-Base.repo文件到指定目錄,安裝yum工具后,配置Docker的yum源,國內(nèi)用戶建議使用aliyun源以避免訪問異常,安裝并啟動Docker,校驗是否成功
    2024-09-09

最新評論