从容器外部编辑docker容器中的文件?

从容器外部编辑docker容器中的文件?,docker,Docker,我有一个docker容器,该容器在weblogic11中运行,因此Weblogic默认在生产模式下运行,因此我想将该生产模式更改为开发模式,为此我需要在容器内编辑文件config.xml,如何从容器外部编辑该文件?使用此comand进入容器内部: docker exec -it container_id bash docker restart container_id 然后,vi/path/to/config.xml,nano/path/to/config.xml。。。。如果要编辑文件 然

我有一个docker容器,该容器在weblogic11中运行,因此Weblogic默认在生产模式下运行,因此我想将该生产模式更改为开发模式,为此我需要在容器内编辑文件
config.xml
,如何从容器外部编辑该文件?

使用此comand进入容器内部:

docker exec -it container_id bash
docker restart container_id 
然后,
vi/path/to/config.xml
nano/path/to/config.xml
。。。。如果要编辑文件

然后重新启动容器:

docker exec -it container_id bash
docker restart container_id 

你绝对能做到。docker配置名为
装载
。要在容器中装入文件,请在
docker run
命令中添加-v参数:

docker run-d-v/path/to/your file.xml:/path/to/file/inside/container-shoulbe.xml图像:版本
或者,如果您正在使用docker compose,则您的
docker compose.yml
应如下所示:

...
services:
    web:
        image: xxx:version
        volumes:
            ...
            - /path/to/your-file.xml:/path/to/file/inside/container-shoulbe.xml
...

希望有帮助。

您可以通过装入卷来实现这一点。例如

services:
    web:
        image: your_image:tag
        volumes:
          - app_config:/locaiton_of_config_folder

volumes:
  app_config:
这将创建docker卷,并将其装入
/var/lib/docker/volumes/volumes\u name/\u data
,您可以编辑这些文件。确保使用
sudo
,因为这些文件是由docker内部的root用户创建的


您可以通过
docker volume ls
检查卷列表

一旦重新启动容器,所有更改都将丢失。许多Docker图像是非常简单的,根本不包含任何类型的文本编辑器。