Tag: compose

Docker撰写 – 没有拿起init命令中的转储文件?

我在基于Windows的docker enr中有以下语法。 但是当我运行 docker-compose up 它加载容器,但不加载转储文件位置作为入口点给予mysql进程的转储文件位置。 有任何想法吗 ? 下面是我的docker-compose.yml文件。 mysql: image: mysql:latest volumes_from: – data environment: MYSQL_ROOT_PASSWORD: yxxxxr MYSQL_DATABASE: career_xxx MYSQL_USER: career_xxx MYSQL_PASSWORD: Ixxx8; data: image: mysql:latest #image: mysql:5.6 #image: mysql:latest volumes: – ./.config/etc/mysql/dump:/docker-entrypoint-initdb.d command: "true"

Docker与rake资源组合 – 构build – 预编译

我试图设置我的应用程序在生产模式下运行,我遇到了一个问题,build立资产文件夹,特别是我的Dockerfile中的这一行: RUN bundle exec rake RAILS_ENV=production DATABASE_URL=postgresql://user:pass@127.0.0.1/dbname SECRET_TOKEN=dummytoken assets:precompile 数据库只是一个虚拟的行。 问题是,当它运行耙子似乎没有看到envvariables,并得到以下错误时,它初始化carrierwave.rb rake aborted! ArgumentError: Missing required arguments: aws_access_key_id, aws_secret_access_key /usr/local/bundle/gems/fog-core-1.42.0/lib/fog/core/service.rb:244:in `validate_options' /usr/local/bundle/gems/fog-core-1.42.0/lib/fog/core/service.rb:268:in `handle_settings' /usr/local/bundle/gems/fog-core-1.42.0/lib/fog/core/service.rb:98:in `new' /usr/local/bundle/gems/fog-core-1.42.0/lib/fog/core/services_mixin.rb:16:in `new' /usr/local/bundle/gems/fog-core-1.42.0/lib/fog/storage.rb:27:in `new' /usr/local/bundle/gems/carrierwave-0.11.2/lib/carrierwave/uploader/configuration.rb:83:in `eager_load_fog' /usr/local/bundle/gems/carrierwave-0.11.2/lib/carrierwave/uploader/configuration.rb:96:in `fog_credentials=' /mnt/hgfs/Projects/livingrecipe/config/initializers/carrierwave.rb:3:in `block in <top (required)>' /usr/local/bundle/gems/carrierwave-0.11.2/lib/carrierwave/uploader/configuration.rb:118:in `configure' /usr/local/bundle/gems/carrierwave-0.11.2/lib/carrierwave.rb:14:in `configure' /mnt/hgfs/Projects/livingrecipe/config/initializers/carrierwave.rb:1:in `<top (required)>' Theres多了几条线,但第一行说这一切和ENVvariables的aws_access_key_id和aws_secret_access_key似乎不会加载。 如果我运行这个没有试图预编译资产一切正常,但我需要预编译的资产,使其可见的nginx 我确实发现,为了解决这个问题,我可以用它们replaceENVvariables,这是有问题的代码: CarrierWave.configure do |config| config.fog_credentials = { provider: […]

Spark节点使用错误的IP地址进行通信(Docker)

我有一个使用Docker创build的Spark(DataStax企业)集群,使用docker-compose绑定在一起。 这仅用于本地开发目的。 容器在他们自己的dockernetworking中: 172.18.0.0/16 。 我在运行Docker工具箱的Mac上,我可以直接从我的机器上访问这些容器,因为我已经在172.18.0.0/16上手动添加了一个到172.18.0.0/16的路由,这是Virtualbox在Mac上提供的虚拟networking。 vboxnet0接口的我的一面有IP 192.168.99.1 。 docker机端有192.168.99.101 。 这一切都很好,主Web UI出现在172.18.0.2:7080 ,所有的节点都显示正确,他们的172.x IP地址(并继续这样做,如果我扩大通过例如docker-compose scale spark=5 )。 但是,当我提交工作时,例如: $SPARK_HOME/bin/spark-submit –master spark://172.18.0.2:7077 –class myapp.Main \ ./target/scala-2.10/myapp-assembly-1.0.0-SNAPSHOT.jar , 这是非常缓慢的(我认为由于重试),我看到这样的错误,直到它终于成功: 16/09/16 13:01:53 WARN TaskSetManager: Lost task 0.0 in stage 2.0 (TID 5, 192.168.99.101): org.apache.spark.storage.BlockFetchException: Failed to fetch block from 1 locations. Most recent failure cause: at org.apache.spark.storage.BlockManager$$anonfun$doGetRemote$2.apply(BlockManager.scala:595) […]

Filebeats不会向Docker撰写日志,为什么呢?

我正在按照这个教程设置一个ELK栈(VPS B),它将使用Beatfile作为转发器来接收一些Docker / docker组合图像日志(VPS A),我的图如下所示 到目前为止,我已经设法使所有的接口与绿色蜱工作。 但是,仍然有一些我不能理解的问题。 因此,如果有人能帮我一下,我将不胜感激。 我的主要问题是,我没有从VPSA获取任何Docker / docker-compose日志到VPSB的Filebeat服务器; 不过,我在VPSB的Filebeat服务器上获得了来自VPSA的其他日志,如rsyslog,authentication日志等。 我已经configuration了我的docker-compose文件来使用rsyslog转发日志作为日志驱动程序,然后filebeat将这个syslog转发给VPSB。 到达这一点,我确实看到docker守护进程本身的日志,比如虚拟接口上/下,启动进程等等,而不是监视器本身的“debugging”日志。 VPSA中Filebeat客户端的configuration如下所示 root@VPSA:/etc/filebeat# cat filebeat.yml filebeat: prospectors: – paths: – /var/log/auth.log – /var/log/syslog # – /var/log/*.log input_type: log document_type: syslog registry_file: /var/lib/filebeat/registry output: logstash: hosts: ["ipVPSB:5044"] bulk_max_size: 2048 tls: certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"] shipper: logging: files: rotateeverybytes: 10485760 # = 10MB level: debug 一个docker-compose日志驱动程序看起来像这样 […]

Docker Compose – Logstash – 启动后用代码0退出

我试图用Docker Compose使用Logstash,.yml文件看起来像这样: user-service: image: images/user-service ports: – "2222:2222" links: – logstash logstash: image: images/logstash command: logstash -e 'input{} output{}' ports: – "5045:5045" logstash开始和结束,如控制台显示: logstash_1 | Sending Logstash's logs to /var/log/logstash which is now configured via log4j2.properties logstash_1 | 01:51:30.164 [[main]-pipeline-manager] INFO logstash.pipeline – Starting pipeline {"id"=>"main", "pipeline.workers"=>2, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>250} logstash_1 | 01:51:30.246 [[main]-pipeline-manager] INFO […]

在重新启动后,群集节点不能重新joinDocker群中的群集

下面是yaml用于创build由2个服务mariadb和mariadbSlave组成的MariaDB集群。 当我第一次启动服务时,群集大小为3,运行良好。 虽然手动停止容器运行mariadb服务后, docker swarm重新启动mariadb服务,但它不再是集群的一部分。 大小为1的新集群与大小为2的旧集群一起启动。如何使mariadb服务正确故障切换,以便在重新启动集群大小为3之后? 从MariaDB集群的文档中,成员资格由cluster_name确定,并且在两个服务中都是相同的名称。 提前致谢。 version: '2' services: mariadb: restart: always deploy: replicas: 1 image: ${DOCKER_REPOSITORY}hauptmedia/mariadb:10.1 command: – "–wsrep-new-cluster" networks: – default_network volumes: – /mariadb/maria.cnf:/etc/mysql/conf.d/maria.cnf environment: – CLUSTER_ADDRESS=gcomm:// – GALERA=On – REPLICATION_PASSWORD=test – NODE_NAME=masterNode – CLUSTER_NAME=cluster – MYSQL_ROOT_PASSWORD=test – MYSQL_DATABASE=test – MYSQL_USER=user – MYSQL_PASSWORD=test mariadbSlave: restart: always deploy: replicas: 2 image: ${DOCKER_REPOSITORY}hauptmedia/mariadb:10.1 […]

Docker MongoDB:UserNotFound

我正在为Docker构build一个非交互式可configuration的MongoDB镜像,目前的目标是能够以编程方式从configuration文件加载auth用户。 我目前的问题是,尽pipe我可以成功地将用户添加到数据库,他们似乎不坚持通过构build过程,因此我的节点容器无法成功地对数据库进行身份validation。 以下是我的mongodb实例的主要dockerfile: FROM mongo:latest #Installing Node RUN apt-get update && \ apt-get install -y curl && \ curl -sL https://deb.nodesource.com/setup_6.x | bash – && \ apt-get install -y nodejs #Setting Up Mongo WORKDIR /var/www/smq COPY ./docker/mongo-setup.js mongo-setup.js COPY ./.config/mongo /var/www/.config/mongo RUN if [ -e /var/www/.config/mongo/mongod.conf ] ; then cp /var/www/.config/mongo/mongod.conf /etc/mongod.conf ; fi RUN […]

在Docker容器启动时运行Symfony数据库迁移脚本

希望问题标题不要太混乱。 基本上我有一个基于Docker的Symfony 3应用程序。 我想要在Docker启动时运行应用程序的数据库迁移。 基本上这样我就可以通过运行“docker-compose up”来使应用程序启动并运行fixture数据。 但是,如果你的所有容器都来自图像呢? 我的应用程序将运行以下docker-compose.yml version: '2' services: nginx: image: nginx:latest container_name: symfony_nginx ports: – "80:80" volumes_from: – php volumes: – ./etc/build/dev/nginx/conf.d:/etc/nginx/conf.d – ./var/logs/nginx:/var/log/nginx php: image: letsbonus/php-dev:7.0 container_name: symfony_php volumes: – ./:/app ports: – "2222:22" working_dir: /app redis: image: redis:3.0.7-alpine container_name: symfony_redis elk: image: willdurand/elk container_name: symfony_elk ports: – "81:80" volumes: – […]

Gitlab-ci和docker组成:握手超时

我尝试使用Gitlab和docker设置configuration项时出现了一些问题:docker-compose构build失败,并显示错误 Building web Step 1/8 : FROM python:2.7-alpine Service 'web' failed to build: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout ERROR: Job failed: exit code 1 这是我的gitlab-runner / config.toml: concurrent = 1 check_interval = 0 [[runners]] name = "Backend-django runner" url = "http://gitlab.codewithme.today/ci" token = "4976e4153178a33029e041a0f5fe07" executor = "docker" [runners.docker] tls_verify = false image = "python:2.7-alpine" […]

Fabric8 docker maven插件不能用于多模块项目上的compose.yml

我尝试使用Fabric8 docker-maven-plugin,但是我成功地为各个模块configuration插件并运行docker:build docker:start docker docker:build docker:start maven目标而不使用docker-compose.yml,但是我需要外部化端口并链接不同的模块,因此我打算使用docker-compose.yml。 以下是我的项目结构。 –kp-parent | — docker-compose.yml — pom.xml | —- rest1 | | | — .maven-dockerignore | — pom.xml | — Dockerfile —- rest2 | | | — .maven-dockerignore | — pom.xml | — Dockerfile 这是我的configuration Dockerfile [除了不同的端口,rest1和rest2都使用相同的文件] FROM openjdk:8-jdk-alpine MAINTAINER 'Karthik Prasad' ARG IMAGE_VERSION ARG JAR_FILE ENV JAVA_OPTS="" […]