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

时间:2019-11-05 04:18:22

标签: docker

我有一个Docker容器,该容器在weblogic11中运行,因此默认情况下Weblogic在生产模式下运行,因此我想将该生产模式更改为开发模式,因为我需要编辑文件{{ 1}},如何在容器外部编辑该文件?

3 个答案:

答案 0 :(得分:1)

绝对可以。有一个名为mounting的docker配置。要将文件装入容器中,请在docker run命令上添加-v参数:

docker run -d -v /path/to/your-file.xml:/path/to/file/inside/container-shoulbe.xml image:version

或者如果您使用的是docker-compose,则您的docker-compose.yml应该像这样:

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

希望有帮助。

答案 1 :(得分:0)

使用此命令进入容器:

def apply_fix(filepath, new_filepath):
    ds = gdal.Open(filepath)
    options = [
        'COMPRESS=LZW',
        'TILED=YES',
        'PREDICTOR=2',
        'COPY_SRC_OVERVIEWS=YES',
    ]
    ds = gdal.Translate(new_filepath, ds, creationOptions=options)
    del ds

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

然后重新启动容器:

nano /path/to/config.xml

答案 2 :(得分:0)

您可以通过装入卷来执行此操作。例如

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

volumes:
  app_config:

这将创建docker卷并将其安装在/var/lib/docker/volumes/volume_name/_data上,您可以编辑文件。请确保使用sudo,因为这些文件是由docker内部的root用户创建的。

您可以按docker volume ls查看卷列表。

相关问题