我已经在docker中登录了虚拟机,但找不到standalone.sh,它不在/bin中。我也不知道如何编写设置 -Djboss.socket.binding.port-offset=100
的 dockerfile您可以将端口作为 -Djboss.http.port 参数传递,例如:
docker run --name keycloak -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -p 11111:11111 jboss/keycloak -Djboss.http.port=11111
使用Keycloak 19+:
keycloak:
image: quay.io/keycloak/keycloak:19.0.1
environment:
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
command: ["start-dev", "--http-port=8888"]
下面是一个示例 docker-compose YAML 文件,它显示您可以在命令中设置偏移量。请根据您的设置进行更改。
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
这对我有用,就像通过 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
如果容器已经创建。
docker stop <container_name>
docker commit keycloak keycloak2
docker run -p 28080:28080 -td keycloak2 start-dev --http-port=28080