近期在处理应用软件漏洞时,需要对docker容器内Java应用程序增加JVM的运行参数,希望可以在不重新创建容器的情况下进行修改,这里通过搜索并实践得出了一些结果,本文将详细进行描述。

步骤1: 找出容器对应的Id

docker ps

记录CONTAINER ID(完整Id的前12个字符),当然可以通过docker inspect 容器名|grep Id得出完整的Id

步骤2: 停止docker

systemctl stop docker

步骤3: 修改配置文件

注意一定要先停止docker,否则修改的值会被覆盖,无法生效

  • 修改运行参数
    vim /var/lib/docker/containerd/完整容器id/config.v2.json
    

    可以在Args添加运行参数,也可以在Env中添加环境变量

  • 修改端口、DNS等
    vim /var/lib/docker/containerd/完整容器id/hostconfig.json
    

    可以通过Binds、PortBindings、RestartPolicy等参数进行文件映射、端口映射、重启策略进行修改

步骤4: 启动docker

systemctl start docker

通过以上步骤可以,就可以实现参数变更。