如何将dockernetworking从旧的容器移动到新的容器?

我想升级一个容器的基础镜像,需要将networking从旧版本移到新版本。 所以我从旧容器收集数据,在哪里 networkingconfiguration creation_data.get('networking_config')如下所示: {'EndpointsConfig': {'opt_network_4ba465': {'IPAMConfig': {'IPv4Address': '10.49.0.2'}}}} 开始旧的容器 def pop_new_container(data, docker_client=None): container = docker_api.create_container( # todo: use config file image='docker.site.org:5000/coaxis/coaxisopt_daemon:latest', hostname=data.get('hostname'), ports=[80], host_config=docker_api.create_host_config( port_bindings={80: 80}, restart_policy={"MaximumRetryCount": 0, "Name": "always"} ), networking_config=create_network_config(data, docker_client) ) docker_api.start(container=container.get('Id')) return container 升级 开始新的容器(基于旧的一个数据)。 def upgrade_daemon_container(old_container_id): old_container_data = docker_api.inspect_container(old_container_id) creation_data = get_upgrade_data(old_container_data) new_container = docker_api.create_container( image=creation_data.get('image'), hostname=creation_data.get('hostname'), volumes=creation_data.get('volumes'), host_config=docker_api.create_host_config( […]

docker – 撰写错误:服务“构build”必须是一个映射器不是一个string错误

我已经试图通过在Stackoverflow中查看其他人的类似错误来解决这个问题,但没有为我工作:我不断得到这个错误。 这是我的docker-compose.yml文件: identidock: build: . ports: – "5000:5000" environment: ENV: DEV volumes ./app:app

来自守护进程的错误响应:oci运行时错误:exec:“./run.sh”:stat ./run.sh:no such file or directory

当我运行我的docker集装箱时: docker run my_image 一切都很好,按预期工作。 然后我想挂载音量: docker run -v /data:/c_data my_image 但是我有一个错误: Error response from daemon: oci runtime error: exec: "./run.sh": stat ./run.sh: no such file or directory 我猜这个错误是由于c_data在/data目录中查找run.sh ,而不是在c_data在的c_data中。 我怎样才能克服这个问题?

sbt-docker无效的头字段值“oci …运行时错误:没有这样的文件错误

我目前使用sbt-docker来创build一个图像在mesos上运行。 当我执行“项目DataQualityIngest”运行。 一切工作正常。 (从而表明项目本身工作正常) 但是当我用这些设置创builddocker图像时 mainClass in (Compile, run) := Some("com.company.data_quality.CredentialObjectConsumer") enablePlugins(DockerPlugin, JavaAppPackaging) dockerBaseImage := "java:8u72" dockerExposedPorts := Seq(9000) dockerRepository := Some("docker.company.com/analytics") packageName in Docker := "credential-kafka-ingest" version in Docker := "0.1.7.4 它成功地build立了docker图像docker.company.com/analytics/credential-kafka-ingest:0.1.7.4 ,但是当我运行docker run docker.company.com/analytics/credential-kafka-ingest:0.1.7.1我得到以下错误 docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"bin/datqualityingest\\\": […]

从Docker-composeconfigurationdynomitedb

我试图从docker-compose中使用dynomitedb来缩放redisdb。我创build了3个dynomitedb containersn,每一个都有一个特定的dynomite.ymlconfiguration。 dyn_o_mite: dyn_listen: 0.0.0.0:8101 data_store: 0 listen: 0.0.0.0:8102 dyn_seed_provider: simple_provider dyn_seeds: – xxxxxxxxx:8101 – xxxxxxxxx:8101 servers: – 127.0.0.1:22122:1 tokens: 0 stats_listen: 0.0.0.0:22222我如何填充dyn_seeds IP与其他dynomitedb容器IP或有任何解决scheme来处理这个问题? 提前致谢

Artifactory Docker的问题

我们继续设置反向代理,以便我们可以在artifactory中创build一个docker repo。 当试图login到artifactory我们得到以下错误。 dockerlogindomain.com 用户名:user 密码: 来自守护进程的错误响应:Get domain.com/v2/:invalid token auth challenge realm:parse domain.com:PORT#/api/docker/docker-repo/v2/token:missing protocol scheme 有没有人有过这个错误? 问候, 萌

在bitbucket Webhook之后标记docker image

我们有一个在bitbucket中configuration的Webhook,在每个'git push'之后,hub.docker.com会被通知自动构build我们的docker镜像。 有没有什么办法自动标记新的图像与来自bitbucket webhook的信息?用散列提交mIdeally?

你可以创build主机名是灵活的Kerberos主体? (泊坞)

我特意试图用Apache Storm(1.0.2)来做到这一点,但它与任何使用Kerberos保护的服务都是相关的。 我试图在Docker中运行安全的Storm集群。 Storm有很多现成的docker图片,而且他们的工作很不安全。 我使用https://github.com/Baqend/docker-storm 。 我也有Storm在RHEL VM上安全运行。 但是,我的理解是Kerberos将主机名与主体绑定,所以如果我为客户端提供服务foobar,则需要创buildfoobar/hostname@REALM的主体。 然后,一个客户端服务可能会连接到hostname与主要foobar ,Kerberos将查找foobar/hostname@REALM在其数据库中,发现它在那里(因为我们创build一个正是这个名字的主体),一切都会工作。 在我的情况下,这里描述: https : //docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_installing_manually_book/content/configure_kerberos_for_storm.html 。 nimbusauthentication为storm/<nimbus host>@REALM ,主pipe和外部客户authentication为storm/REALM 。 一切正常。 但在2017年,我们有容器和主机名不再是静态的。 那么,我将如何Kerberize在Docker数据中心(或Kubernetes等)中运行的服务? 我必须将未知的主机名附加到服务器身份validation。 我想我可以为所有可能的主机名创build一个主体,并根据容器的存储位置在启动时dynamic地select正确的主体,但这就是kludgy。 我误解了Kerberos的工作原理吗? 这里有没有解决方法,我不明白? 我在网上看到多个在Docker上运行Storm的人的例子,但我无法想象没有人的群集是安全的。

Rancher CLI随机主机端口映射

我打算使用牧场主pipe理我的容器。 在我的开发箱中,我们计划提供几个容器,每个容器都提供一个REST API。 我能够自动化使用jenkinsbuild立我的容器的过程,并希望运行容器使用牧场主利用随机主机端口映射。 我能够使用牧场人UI做到这一点,但无法find使用CLI自动化的方式。 例如:Jennkins构buildContainer_A公开了8080 – > Jenkins也执行了rancher cli来将容器映射8080运行到一个随机的主机端口。 Container_B暴露8080也一样。 希望我的问题是有道理的。 谢谢维杰

不能生产 – 或消费 – 从容器内运行的卡夫卡经纪人

configuration 我正在使用docker hub的confluent / kafka图像来启动两个独立容器中的zookeeper和kafka实例。 我用来启动容器的命令如下: docker run –rm –name zookeeper -p 2181:2181 confluent/zookeeper docker run –rm –name kafka -p 9092:9092 –link zookeeper:zookeeper confluent/kafka 我有两个容器zookeeper和kafka现在运行。 请注意,我已经将容器的端口2181和9092映射到我的主机端口。 我通过在我的浏览器中尝试使用localhost:2181/9092来validation这个映射是否正常工作,并且在运行容器的terminal中出现了一些错误。 然后,我通过在主机中发出以下命令来创build主题: ./bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test 这是成功的,我通过使用以下命令列出主题来validation它: ./bin/kafka-topics.sh –list –zookeeper localhost:2181 现在问题: 我正在尝试使用以下命令向代理发送一些消息: ./bin/kafka-console-producer.sh –broker-list localhost:9092 –topic test 我收到以下exception: [2017-03-02 20:36:02,376] WARN Failed […]