首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在docker镜像中包含修改后的配置文件?

如何在docker镜像中包含修改后的配置文件?
EN

Stack Overflow用户
提问于 2016-08-02 19:39:29
回答 2查看 1.7K关注 0票数 3

我是Docker的新手。一位devop同事在github存储库中创建了一个WSO2 docker镜像。他使用这样的映像来创建暂存和生产实例。

docker-compose.yml为:

代码语言:javascript
复制
#openssl req        -newkey rsa:2048 -nodes -keyout domain.key        -x509 -days 365 -out domain.crt

version: '2'

services:
  mysql:
    image: mysql:5.7.10
    ports:
      - "3306:3306"
    volumes:
      - ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
    environment:
      - MYSQL_DATABASE=userdb
      - MYSQL_USER=dbwso2am
      - MYSQL_PASSWORD=dbwso2am
      - MYSQL_ROOT_PASSWORD=dbwso2am
  wso2am:
    image: salte/wso2am:1.9.1
    depends_on:
      - mysql
    volumes:
      - ./keys:/keys
    environment:
      - VIRTUAL_HOST=apimanager.qa.xxx.build
      - VIRTUAL_PORT=9443
      - VIRTUAL_PROTO=https
      - OFFSET=3
      - EXTERNAL_HOSTNAME=apimanager.qa.xxx.build
      - DATABASE_HOSTNAME=mysql
      - DATABASE_PORT=3306
      - DATABASE_USER=dbwso2am
      - DATABASE_PASSWORD=dbwso2am
      - PUBLIC_CERTIFICATE=/keys/domain.crt
      - PRIVATE_KEY=/keys/domain.key
      - PRIVATE_KEY_PASSWORD=wso2am
      - ADMIN_PASSWORD=admin

我想修改一些存储在一些xml文件中的WSO2 configuration,并将其推送到生产环境中。

我应该如何继续?这个是可能的吗?我应该修改docker镜像吗?如果是,是如何实现的?或者我应该在一个经典的github仓库中安装WSO2,修改那里的xml,然后基于这个仓库的内容重新创建一个docker镜像?

EN

回答 2

Stack Overflow用户

发布于 2016-08-02 19:49:12

您不需要为了更改一个xml而重新创建整个图像。您可以通过卷或命令替换它。例如,我链接了共享文件夹,您可以在容器上运行命令。假设您在/home/share中有共享文件夹,并将其链接到/c/Share,因此您将新xml文件放在共享中,容器也可以看到它。接下来,运行以下命令:

代码语言:javascript
复制
docker exec a5866aee4e90 cp -i /home/share/some.xml /home/the/path/you/chose

Docker exec用于运行命令。您可以使用以下命令进入控制台并运行多个命令:

代码语言:javascript
复制
docker exec -it a5866aee4e90 bash
票数 1
EN

Stack Overflow用户

发布于 2016-11-10 01:41:12

docker cphttps://github.com/docker/docker/pull/6580

步骤(假设您需要修改现有的配置文件。如果不是,则开始执行步骤2):

  1. 将配置文件从容器复制到主机。(这可以通过多种方式完成:使用主机上的编辑器docker cp、简单的控制台窗口复制-粘贴、sharing)
  2. modify配置文件的卷
  3. 使用docker cp

将修改的文件复制回容器

在使用此方法之前,请始终尝试通过环境变量应用修改。如果这是不可能的,那么您必须恢复到编辑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38719427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档