Tag: yaml

没有find与DCHQ上节点所需最小内存匹配的服务器

我试图在DCHQ平台上运行应用程序,这些是我在azure色云上的虚拟机configuration CPU 2内存3GB磁盘162GB 这是YAML AppServer: image: websphere-liberty:webProfile6 publish_all: true mem_min: 20000m host: host1 cluster_size: 1 environment: – database_driverClassName=com.mysql.jdbc.Driver – database_url=jdbc:mysql://{{MySQL|container_ip}}:3306/{{MySQL|MYSQL_DATABASE}} – database_username={{MySQL|MYSQL_USER}} – database_password={{MySQL|MYSQL_ROOT_PASSWORD}} – LICENSE=accept MySQL: image: mysql:latest host: host1 mem_min: 9000m environment: – MYSQL_USER=root – MYSQL_DATABASE=names – MYSQL_ROOT_PASSWORD={{alphanumeric|8}} 我看到这个错误: 没有find匹配的服务器和节点所需的最小内存[AppServer] 内存在3GB以下,我可能会做错什么?

Docker可以自动重新启动容器并使用新的图像标签提交更改?

我使用Docker进行部署,并使用Docker-Compose(.yml文件)同时启动〜6个容器。 Compose文件中的每个图像都在本地find(部署环境中没有Internet连接)。 按照我的部署所采取的步骤如下所示: 运行docker-compose up(使用带有“latest”标签的图像从本地图像启动6个容器,如image1:latest,image2:latest等) 退出/停止时,我有6个停止的容器。 手动重新启动六个停止的容器(docker start xxx) 手动提交每个重新启动的容器(docker commit xxx) 手动重新标记每一代前一代图像(image1:最新 – >图像1:版本1,图像1:版本2等),并手动删除包含“最新”标签的图像 手动标记每个提交的容器(现在是图像)与“最新”标签(image1:最新) 这个过程是相当用户参与的,我们的部署需要用户参与才能运行“docker-compose up”命令,然后closures/停止Docker-Compose。 所需的最终目标是让脚本或Docker自己处理这些步骤,并最终生成不同代的图像(image1:version1,image1:version2,image1:latest等)。 所以,我的问题是,我将如何去创build一个脚本(或让Docker做到这一点),脚本(或者Docker)可以自主地执行脚本: 在停止/退出Docker-Compose时重新启动已停止的容器 提交重新启动的容器 使用最新的标签重新标记以前的图像到增加的版本#(图像1:版本1,图像1:版本2等),然后删除以前的图像1:最新的图像 使用“最新”标签标记新提交的重新启动的容器(现在是图片) 这是一个相当冗长和密集的问题要回答,但我将不胜感激任何帮助完成我的任务所需的任何步骤。 谢谢。

在docker-compose.yml文件中获取或设置envvariables

我有一个docker-compose.yml文件,在那里我定义: extra_hosts: – "localhost:${MY_MACHINE_IP}" 如果我之前将MY_MACHINE_IP定义为环境variables,它将起作用。 我想实现的是执行如下操作: extra_hosts: – "localhost:<get MY_MACHINE_IP from env if it exists, if not set MY_MACHINE_IP env variable with value <docker-machine-ip>>" 换句话说:我想在extra_hosts部分定义它,如果MY_MACHINE_IP已经被指定,那么得到它,如果没有 – 设置这个env。 variables与值=我的docker机器ip。 可能吗?

docker堆栈到Kubernetes

我对Docker非常熟悉,但对Kubernetes我没有任何经验。 我有一个Docker堆栈 (多容器)软件,可以在Docker群集中部署。 我想知道Kubernetes是否有类似的东西? 我不需要副本,自动扩展等…我只需要一组容器与其在单个文本文件中定义的依赖关系和networking一起工作。 我search并find了一个名为kompose的工具,将Docker堆栈文件转换为Kubernetes语法…但是,它看起来像输出是*.yaml文件的列表,而不是单个文件。 所以,我得出的结论是kubernetes没有这个确切的function..我错过了什么?

如何validation我的docker-compose.yml?

我使用docker-compose设置了一个容器堆栈。 然而通过跑步 docker-compose up 我收到一个相当神秘的错误信息: Traceback (most recent call last): File "/usr/local/bin/docker-compose", line 9, in <module> load_entry_point('docker-compose==1.4.2', 'console_scripts', 'docker-compose')() File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 39, in main command.sys_dispatch() File "/usr/local/lib/python2.7/dist-packages/compose/cli/docopt_command.py", line 21, in sys_dispatch self.dispatch(sys.argv[1:], None) File "/usr/local/lib/python2.7/dist-packages/compose/cli/command.py", line 27, in dispatch super(Command, self).dispatch(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/compose/cli/docopt_command.py", line 24, in dispatch self.perform_command(*self.parse(argv, global_options)) File "/usr/local/lib/python2.7/dist-packages/compose/cli/command.py", line 57, […]

Docker-Compose文件有yaml.scanner.ScannerError

compose.yml文件,如下所示: version: '2' services: discovery-microservice: build: discovery-microservice context: /discovery-microservice/target/docker dockerfile: Dockerfile ports: – "8761:8761" 当我执行它时,我得到以下错误: yaml.scanner.ScannerError: mapping values are not allowed here in "C:\…\docker-compose.yml", line 5, column 14 从我所看到的格式来看,没有什么错,例如空格不见了。 我的总体目标是指定一个开发模式docker-compose文件,将它指向来自不同模块的目标目录。 我在这里做错了什么?

AWS豆茎环境不是在旋转docker容器日志

我在弹性beanstalk上运行一个scala应用程序,并且服务器得到了未被旋转的容器日志的满溢。 默认的beanstalkscheme将docker日志转换为/var/log/eb-docker/containers/eb-current-app/*文件夹,但在/var/lib/docker/containers/<container-id>/*并且由于它们不旋转,磁盘变得非常快。 我已经尝试通过手动添加另一个logrotation到/etc/logrotate.elasticbeanstalk.hourly/logrotate.elasticbeanstalk.applogs.conf来处理这个问题,并解决了这个问题。 但是,当我尝试在每个实例beanstalk中使用.ebextensionconfiguration文件启动更改时,更改的日志循环文件不会显示在服务器上。 这是我的.config文件 – files: "/etc/logrotate.elasticbeanstalk.hourly/logrotate.elasticbeanstalk.applogs.conf": mode: "000644" content: | /var/log/eb-docker/containers/eb-current-app/* { size 10M rotate 5 missingok compress notifempty copytruncate dateext dateformat %s olddir /var/log/eb-docker/containers/eb-current-app/rotated } /var/lib/docker/containers/*/*.log { size 10M rotate 5 missingok compress notifempty copytruncate dateext dateformat %s olddir /var/log/eb-docker/containers/eb-current-app/rotated } 我也试过使用我在这篇文章中find的最简单的configuration文件 – https://www.reddit.com/r/aws/comments/2u3afj/elastic_beanstalk_issues_with_ebextensions/ ,但是也没有影响我启动的实例。 任何意见,为什么我的configuration不影响环境将不胜感激。

如何从yamlconfiguration中删除inheritance属性?

我有这样一个yaml文件: local: &local image: xxx # *tons of config* ci: <<: *local image: # delete build: . 我希望ciinheritancelocal所有值,除了image 。 有没有办法“删除”这个值?

我怎样才能将一个多线路variables传递给docker集装箱?

根据这个评论, docker compose支持多行variables: environment: KEY: |- line1 line2 但是,当我在容器中执行echo $KEY时,它已经用空格replace了换行符: line1 line2 我错过了什么吗? 我的docker版本是1.12.1。

kubectl:连接到服务器被拒绝

当我运行kubectl run …或任何命令时,我收到一条错误消息说 The connection to the server localhost:8080 was refused – did you specify the right host or port? 究竟是什么错误以及如何解决?