我有一个docker容器,该容器在weblogic11中运行,因此Weblogic默认在生产模式下运行,因此我想将生产模式更改为开发模式,为此我需要在容器内编辑文件config.xml,如何从容器外编辑该文件?
config.xml
wn9m85ua1#
你当然可以。有一个名为mounting的Docker配置。要将文件挂载到容器中,请在docker run命令中添加-v参数:
mounting
docker run
docker run -d -v /path/to/your-file.xml:/path/to/file/inside/container-shoulbe.xml image:version
或者如果你使用docker-compose,你的docker-compose.yml应该是这样的:
docker-compose.yml
... services: web: image: xxx:version volumes: ... - /path/to/your-file.xml:/path/to/file/inside/container-shoulbe.xml ...
希望能帮上忙。
lrl1mhuk2#
您可以通过挂载卷来完成此操作。例如
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检查卷列表。
/var/lib/docker/volumes/volume_name/_data
sudo
docker volume ls
hrysbysz3#
有一个非常简单的解决方法来做到这一点。
您希望从正在运行的容器中复制出文件:
docker cp <container_id>:/path/to/file .
你可以用任何你想要的东西编辑这个文件,你只需要把它复制回来:
docker cp file <container_id>:/path/to/file
docker commit <container_id> <new_image_name>
3条答案
按热度按时间wn9m85ua1#
你当然可以。有一个名为
mounting
的Docker配置。要将文件挂载到容器中,请在docker run
命令中添加-v参数:或者如果你使用docker-compose,你的
docker-compose.yml
应该是这样的:希望能帮上忙。
lrl1mhuk2#
您可以通过挂载卷来完成此操作。例如
这将创建docker卷,它将被挂载到
/var/lib/docker/volumes/volume_name/_data
,您可以编辑文件。请确保使用sudo
,因为文件是由docker内部的root用户创建的。您可以按
docker volume ls
检查卷列表。hrysbysz3#
有一个非常简单的解决方法来做到这一点。
您希望从正在运行的容器中复制出文件:
你可以用任何你想要的东西编辑这个文件,你只需要把它复制回来: