我在docker容器中运行postgres来限制它可以访问的系统资源量.我在理解如何使数据持久化方面遇到了一些麻烦.我读过以下文章:
https://www.andreagrandi.it/2015/02/21/how-to-create-a-docker-image-for-postgresql-and-persist-data/
http://container42.com/2013/12/16/persistent-volumes-with-docker-container-as-volume-pattern/
建议使用仅数据容器,然后让我的postgres容器链接到它.我无法理解的是; 这有什么好处?据我所知,如果由于某种原因停靠机器关闭(例如,将其移动到另一台物理机器),仅数据容器会停止运行,并且所有内容都会丢失?我已经尝试在postgres容器中创建一个卷,但它实际上似乎并没有将任何内容保存到磁盘中.
这是我的docker文件.我究竟做错了什么?
FROM ubuntu
MAINTAINER Andrew Broadbent <andrew.broadbent@manchester.ac.uk>
# Add the PostgreSQL PGP key to verify their Debian packages.
# It should be the same key as https://www.postgresql.org/media/keys/ACCC4CF8.asc
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
# Add PostgreSQL's repository. It contains the most recent stable release
# of PostgreSQL, ``9.3``.
RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list
# Install ``python-software-properties``, ``software-properties-common`` and PostgreSQL 9.3
# There are some warnings (in red) that show up during …Run Code Online (Sandbox Code Playgroud) 正如标题所说,确实如此。我一直通过多次调用将患者资源发布到 FHIR,并将患者作为 xml 传递。
我有数十万患者需要添加(以及大量其他数据)。我只是想知道是否有更有效的方法来发布此内容?
我查看了为 FHIR 创建配置文件的文档,并且我已经使用 Forge 创建了一些我认为可以有效描述配置文件的 xml。我在文档中找不到它实际说明我需要向 RESTful api 发出什么请求才能实际添加新配置文件的地方。
有任何想法吗?
问这个我觉得有点愚蠢,但我目前正在学习函数式编程并完成了一个关于创建单链表的练习,这让我开始思考,是否有可能创建一个不可变的双链表?
假设列表A :: B,在构建时,A需要知道B,但B也需要知道A。我一直在Scala中这样做,所以我不确定它是否特定于Scala,但我无法想象这将如何运作。
我不是在寻找替代品,因为我不需要任何东西,我只是好奇。
functional-programming scala immutability immutable-collections
我已经设置了一个java应用程序,它充当Web服务器并处理http请求.我已经测试过它在容器外面工作(它可以),但是在容器中我的请求似乎没有达到它.
服务器侦听端口3971,Dockerfile如下所示:
FROM java:8
ADD VaultServer /
EXPOSE 3971
EXPOSE 3972
ENTRYPOINT ["java", "-jar", "VaultServer.jar"]
Run Code Online (Sandbox Code Playgroud)
调用根地址应该返回一些东西(通常我会发送一个GET到http:// localhost:3971 /).
我已经尝试用docker-machine的ip地址替换'localhost',并且在检查我的服务器的运行容器时也检查了ip地址,但似乎都没有响应.当我调用docker-machine的ip地址时,我得到了ERR_CONNECTION_REFUSED.我还需要启用其他功能吗?
我创建了一个托管 postgres 服务器的 docker 容器。我正在尝试获取此运行的两个实例,它们索引两个完全不同的数据库,因此依赖于不同的卷集。
我正在依次运行以下两个命令:
docker run -v ... -p 5432:9001 -P --name psql-data postgres-docker
docker run -v ... -p 5432:9002 -P --name psql-transactions postgres-docker
Run Code Online (Sandbox Code Playgroud)
第一个容器已创建并运行,但第二个调用引发以下错误:
Error response from daemon: failed to create endpoint psql-transactions on network bridge: Bind for 0.0.0.0:5432 failed. Port already in use.
Run Code Online (Sandbox Code Playgroud)
我发现这有点令人困惑,因为我认为容器的目的是隔离端口绑定。如果我让两个容器将 5432 映射到主机上的同一端口,我可以理解,但我试图将它们分别安装到 9001 和 9002。
我该如何预防这个问题?
我一直在尝试在 FHIR 中编写配置文件。我遇到的问题是使用扩展。
文档谈到扩展,好像它们只是为了扩展配置文件所属资源的现有元素,这在使用伪造时向我确认,因为我可以添加没有扩展的新元素。
我感觉很陌生,因为在我们的专有存储系统中,我们有等价的配置文件,并且它们有关于它们的属性(我认为这类似于 fhir 中的元素),但是属性仅用于存储一种类型的东西; 例如,您可能有一个具有 DOB、种族、标识符等属性的患者档案。我真的不明白 fhir 上下文中的档案是什么,它们与我的属性相似吗?我可以使用 来限制配置文件实例对特定元素可以具有的数据类型吗?
有比规范更好的文档吗?我发现真的很难掌握。
我正在尝试将资源上传到HAPI.它基于资源类型基础,我已经为我想要捕获的概念创建了一个自定义配置文件(和扩展).我已将这些StructureDefinitions上传到我正在使用的服务器(托管在本地主机上),但我还没有验证它的上传(仍然试图测试我一直用于我的xml的格式是正确的).
我上传了以下软件包(实际软件包中有更多的记录,为了清晰起见,我刚刚编辑了它):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Bundle>
<meta>
<lastUpdated value="2016-10-28T16:29:43Z"/>
</meta>
<type value="transaction"/>
<entry>
<resource>
<Basic>
<text>
<status value="generated"/>
<div/>
</text>
<extension url="http://localhost:1080/hapi-fhir-jpaserver-example/baseDstu2/StructureDefinition/DateID">
<valueDate value="2016-11-01"/>
</extension>
<extension url="http://localhost:1080/hapi-fhir-jpaserver-example/baseDstu2/StructureDefinition/SptSolution">
<valueCoding value="SptSolution.CatFurSPTSoln"/>
</extension>
<extension url="http://localhost:1080/hapi-fhir-jpaserver-example/baseDstu2/StructureDefinition/MethodOfFollowUp">
<valueCoding value="FollowUpMethod.ClinicVisit"/>
</extension>
<extension url="http://localhost:1080/hapi-fhir-jpaserver-example/baseDstu2/StructureDefinition/SPTDefinition">
<valueString value="A positive skin prick test result was defined as a mean wheal diameter of 3mm greater than that of the negative control"/>
</extension>
<extension url="http://localhost:1080/hapi-fhir-jpaserver-example/baseDstu2/StructureDefinition/SubjectNo">
<valueString value="4320"/>
</extension>
<extension url="http://localhost:1080/hapi-fhir-jpaserver-example/baseDstu2/StructureDefinition/AIW">
<valueInteger value="58"/>
</extension>
<extension url="http://localhost:1080/hapi-fhir-jpaserver-example/baseDstu2/StructureDefinition/FollowUp">
<valueCoding value="FollowUp.MSAge1Y"/>
</extension>
<extension url="http://localhost:1080/hapi-fhir-jpaserver-example/baseDstu2/StructureDefinition/Subject">
<valueCoding …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Intellij 中创建一个复合/多运行配置,其中每个配置都按顺序运行。我已经尝试过复合和多重运行,但是似乎都不允许配置一个接一个地运行(就像第二个等待第一个完成一样)。
有没有办法做到这一点?
我创建了一个包装 nfs 的服务,我需要获取它的集群 IP,以便我可以使用它将其设置为持久卷。
我知道我可以使用以下方法来实现:
$ kubectl get svc nfs-server
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nfs-server ClusterIP 10.59.243.58 <none> 2049/TCP,20048/TCP,111/TCP 2m
Run Code Online (Sandbox Code Playgroud)
我想知道的是,如何在 bash 脚本中提取该集群 IP?它是作为部署过程的一部分生成的,因此我不能只是将其输入到我的持久卷清单中。
hl7-fhir ×4
docker ×3
hapi-fhir ×3
dstu2-fhir ×2
postgresql ×2
http ×1
immutability ×1
java ×1
kubectl ×1
kubernetes ×1
persistence ×1
port ×1
rest ×1
scala ×1
webserver ×1