如何在docker run期间加载自定义xml文件?

时间:2018-04-13 09:07:41

标签: java docker spring-boot

我有两个自定义xml属性文件,这些文件是我的spring启动项目中使用的特定于环境的。是否可以使用mount或volume标签从docker运行期间指定的位置获取文件?成功连接到数据库服务器需要xml文件。

此外,如果我在docker run中指定一个env-file命令,我可以将sh文件放在docker服务器上的任何位置并在run命令中指定路径吗?

1 个答案:

答案 0 :(得分:2)

是的,您可以通过安装音量来实现。它会将您的容器内位置与所选的服务器位置进行交换。在容器内部,此共享位置与任何其他位置之间没有区别。使用标志-v“SERVER_LOCATION:CONTAINER_LOCATION”:

public class SimpleEventProcessor : IEventProcessor {        

        public Task CloseAsync (PartitionContext context, CloseReason reason) {
            return Task.CompletedTask;
        }

        public Task OpenAsync (PartitionContext context) {
            return Task.CompletedTask;
        }

        public Task ProcessErrorAsync (PartitionContext context, Exception error) {
            return Task.CompletedTask;
        }

    public Task ProcessEventsAsync (PartitionContext context, IEnumerable<EventData> messages) {

        foreach (var eventData in messages) {
            var data = Encoding.UTF8.GetString (eventData.Body.Array, eventData.Body.Offset, eventData.Body.Count);
            var alert = JsonConvert.DeserializeObject<Alert> (data);
            HubMessages.receivedMessages.Add (alert);
        }

        return context.CheckpointAsync ();
    }
}

是的,您可以在服务器上的任何位置指定脚本中的运行命令。