如何修改Azure中Docker容器及Wildfly AS的相关配置?
嘿,我之前也碰到过类似的配置难题,给你几个实用的方法来修改Docker容器内Wildfly AS的配置,亲测好用:
修改Docker容器内Wildfly AS配置的几种方案
方法一:直接进入容器终端修改配置文件
这是最直接的临时修改方式,适合快速调试:
- 先通过
docker ps找到你的Wildfly容器ID或名称 - 进入容器的交互式终端:
docker exec -it <容器ID/名称> /bin/bash - Wildfly的核心配置文件一般在
/opt/jboss/wildfly/standalone/configuration/目录下,重点看standalone.xml - 如果容器里没装编辑器,可以先执行
apt update && apt install vim安装vim,然后打开配置文件:- 找
<datasources>块,调整jndi-name属性或者新增数据源配置,就能修改Datasource JNDI - 找
<subsystem xmlns="urn:jboss:domain:undertow:*">节点(*是对应版本号),可以修改HTTP端口、线程池、缓存等Undertow相关设置
- 找
- 修改保存后,执行
/opt/jboss/wildfly/bin/jboss-cli.sh --connect command=:reload重启Wildfly让配置生效
方法二:挂载本地配置文件到容器(推荐生产环境用)
这种方式能让配置持久化,避免容器重启后丢失修改:
- 先把容器里的配置文件复制到本地:
docker cp <容器ID/名称>:/opt/jboss/wildfly/standalone/configuration/standalone.xml ./local-standalone.xml - 在本地用编辑器修改
local-standalone.xml,调整Datasource JNDI和Undertow参数 - 重新启动容器时,通过挂载命令把本地配置映射到容器内:
docker run -d -p 8080:8080 -v $(pwd)/local-standalone.xml:/opt/jboss/wildfly/standalone/configuration/standalone.xml <你的Wildfly镜像名> - 之后只要修改本地的
local-standalone.xml,重启容器就能生效,管理起来更方便
方法三:用Wildfly管理控制台可视化配置
适合喜欢图形化操作的同学:
- 启动容器时记得映射管理端口:
-p 9990:9990(Wildfly默认管理端口是9990) - 在浏览器访问
http://<Azure主机公网IP>:9990,用管理员账号登录(如果没设置过账号,先进入容器执行/opt/jboss/wildfly/bin/add-user.sh添加) - 登录后:
- 进入「Configuration -> Subsystems -> Datasources & Drivers」可以可视化配置Datasource JNDI
- 进入「Configuration -> Subsystems -> Web (Undertow)」可以调整Undertow的各项设置
- 修改完成后点击保存,再重启服务器就能生效
另外如果你是用Eclipse部署到Azure Docker的,也可以在Eclipse的Docker插件里找到对应容器,右键选「Exec」直接进入终端,用方法一操作就行。长期来看还是推荐方法二,配置持久化更靠谱。
内容的提问来源于stack exchange,提问作者Joseph Hwang
相关产品推荐
相关产品推荐

