在 docker 中更改 keycloak 的默认端口

Changing default port of keycloak in docker

我已经登录到 docker 中的虚拟机,但我找不到 standalone.sh 它不在 /bin 中。我也不知道如何编写设置 -Djboss.socket.binding.port-offset=100

的 docker 文件

您可以将端口作为-Djboss.http.port参数传递,例如:

 docker run --name keycloak -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -p 11111:11111 jboss/keycloak -Djboss.http.port=11111

下面是一个示例 docker-compose YAML 文件,显示您可以在命令中设置偏移量。请根据您的设置进行更改。 <pre> version: '2.1' services: keycloak: image: jboss/keycloak:4.5.0.Final container_name: keycloak user: change_it hostname: change_it command: ["-Djboss.socket.binding.port-offset=0"] extra_hosts: - "change_it" environment: - KEYCLOAK_USER=change_it - KEYCLOAK_PASSWORD=change_it ports: - 8080:8080 - 8443:8443 </pre>

这对我有用,因为通过 docker 文件更改 keycloak 服务器的默认端口。 (keycloak 在 localhost:8100 上运行)

keycloak:
    build:
      context: ./keycloak
      dockerfile: ./Dockerfile
    environment:
      KEYCLOAK_USER: admin
      KEYCLOAK_PASSWORD: admin
      KEYCLOAK_DEFAULT_THEME: custom 
      KEYCLOAK_WELCOME_THEME: keycloak 
      DB_VENDOR: h2
    container_name: keycloak-container
    command: ["-Djboss.http.port=8100"]
    # Uncomment for development purpose
    # volumes:
    #   - ${PWD}/keycloak/theme/custom:/opt/jboss/keycloak/themes/custom
    ports:
      - 8100:8100