Tag: 泊坞窗

docker集装箱内的种子mongodb

我知道有一些伎俩像使用一个单独的容器来播种真实的容器,就像在这个答案中一样 。 我喜欢这种方法,但是我想知道一旦容器启动,我是否可以做到这一点。 简单地创build一个Dockerfile。 以前面的答案为出发点,我尝试了各种解决scheme,这是一个: FROM mongo:3.0.15 COPY ./init.json /init.json CMD (mongod &) && (sleep 70 && mongoimport -v –db reach-engine –collection MyDummyCollection –type json –file /init.json –jsonArray) EXPOSE 27017 唉这个解决scheme它不是优雅的,也不是工作原因:因为mongod在后台,尽快mongoimport完成容器停止,所以即使导入成功完全unusefull。 首先, 睡眠70是非常糟糕的,因为如果mongod需要超过70秒的时间,会不会发生什么情况。 想法?

下载只有build.gradle文件的依赖关系

是否有可能只使用build.gradle文件下载gradle依赖关系? 我想要完成的是以下内容: 我有一套unit testing,我想执行它们(作为CI过程的一部分)在docker集装箱内。 最初,我使用来自docker hub的openjdk:8-jdk镜像作为testing的基础镜像。 所以,docker撰写文件包含以下内容: version: '3.2' services: unit: image: openjdk:8-jdk volumes: – ..:/usr/test working_dir: /usr/test command: sh -c "exec ./gradlew junitPlatformTest -Punit -p moduleA/" 整个项目安装在容器内的/usr/test目录下。 当容器启动时,它会针对moduleA执行junitPlatformTest任务。 openjdk:8-jdk映像的问题在于,每次运行unit服务时都会下载gradle及其依赖关系。 为了解决这个问题,我决定创build一个新的图像,这个图像会有gradle和我已经下载的项目依赖项。 Dockerfile如下: FROM openjdk:8-jdk COPY . /usr/test WORKDIR /usr/test RUN apt-get -y install wget unzip RUN wget https://services.gradle.org/distributions/gradle-4.1-bin.zip RUN mkdir /opt/gradle RUN unzip -d /opt/gradle […]

与Kubernetes和Gluster的GitLab HA

我目前在Docker上安装了GitLab综合设置。 我计划通过将它添加到Kubernetes来获得相同的HA,并使用Gluster进行持久化。 我曾经玩过GlusterconfigurationKubernetes。 现在是把GitLab带入Kubernetes的时候了。 GitLab使用PostgreSQL作为默认数据库。 我的查询是要实施医pipe局,我应该 a)将GitLab分割成GitLab应用程序和PostgreSQL容器,然后在自己的豆荚簇中运行(应用程序和数据库),即单独部署 GitLab应用程序和PostgreSQL副本? 要么 b)继续使用omnibus安装程序,只是复制这个单独的容器? 它是否真的有区别? 1)写入发生在通过服务暴露给GitLab应用程序的数据库集群 要么 2)写直接发生的综合GitLab容器(其中有自己的数据库) 只是想确保我不会不必要地使设置复杂。 在Kubernetes和Gluster一起使用GitLab已经使事情变得有点复杂。 那么分裂应用程序和数据库是有道理的,或者只是总括设置就足够了? 关心并发写入数据库。

尽pipe前端使用docker-up up和ng serve正确地编译,只有ng服务才能正常工作

尽pipe前端使用docker-compose up和ng serve正确地编译,只有ng serve才能正常工作。 当我打开localhost:4200我的网站没有加载。 ng serve正常工作后。 我想用Docker运行它。 在这两种情况下,我得到: angular_1 | ** NG Live Development Server is running on http://localhost:4200 ** angular_1 | Hash: 23dc61d32587641214e0 angular_1 | Time: 25229ms angular_1 | chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 222 kB {4} [initial] [rendered] angular_1 | chunk {1} main.bundle.js, main.bundle.js.map (main) 113 kB {3} [initial] [rendered] angular_1 | […]

GitLab无法连接数据库

我正在尝试在Gubter中为Kubernetes使用单独的容器,用于GitLab,Redis和PostgreSQL。 我按照PostgreSQL,Redis和GitLab的顺序启动这三个容器。 前两个工作正常,但是当我尝试启动GitLab时,它以某种方式没有find数据库configuration。 [root@cent-gluster-workstation ~]# kubectl logs gitlab-3743104516-plk3x -p Initializing logdir… Initializing datadir… Installing configuration templates… Configuring gitlab… Configuring gitlab::database ERROR: Please configure the database connection. Refer http://git.io/wkYhyA for more information. Cannot continue without a database. Aborting… 我确认我能够从GitLab窗格内telnet到5432端口上的PostgreSQL窗格。 root@gitlab-1182173148-t47fj:/home/git/gitlab# telnet postgresql 5432 Trying 10.42.154.36… Connected to postgresql.default.svc.cluster.local. Escape character is '^]'. GitLab和PostgreSQL的部署和服务configuration: [root@cent-gluster-workstation ~]# cat […]

来自docker的默认postgresql.conf文件

我怎么能从容器到我的主机postgresql.conf? 或者我在哪里可以看到默认的? 一个同事给了我他的configuration文件,以比较它与我自己看到一些我需要做的改变。 容器上的文件path是: postgres=# show config_file; config_file —————————————— /var/lib/postgresql/data/postgresql.conf (1 row) 但我不知道如何从容器中的文件到我的主机

Apache kafka消费者对意外的消息进行无限循环轮询

我正在做卡夫卡消费者实施的集成testing。 我使用wurstmeister / kafka docker镜像和Apache Kafka客户端。 当我向某个主题发送“意外”消息时,嗡嗡的情景就是这样。 在运行模式下, kafkaConsumer.poll(POLLING_TIMEOUT)似乎进入无限循环。 当我debugging但是,当我暂停和运行时,它工作。 发送预期的消息时,我没有这个问题(不要在反序列化时抛出exception)。 这是我的kafka的docker docker-composeconfiguration: kafka: image: wurstmeister/kafka links: – zookeeper ports: – "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: localhost KAFKA_ADVERTISED_PORT: 9092 KAFKA_CREATE_TOPICS: "ProductLocation:1:1,ProductInformation:1:1,InventoryAvailableToSell:1:1" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: – /var/run/docker.sock:/var/run/docker.sock Java通用消费者: @Override public Collection<T> consume() { String eventToBePublishedName = ERROR_WHILE_RESETTING_OFFSET; boolean success = false; try { kafkaConsumer.resume(kafkaAssignments); if (isPollingTypeFull) { // […]

Docker – 扩展父进程的入口

我有一个基于官方postgres图像的自定义图像,我想扩展父图像的入口点,以便它会创build新的用户和数据库,如果它们不存在,每当一个容器启动。 可能吗? 就像我的图像将执行从标准入口点加上我自己的shell脚本的所有命令。 我知道把我自己的脚本放到/docker-entrypoint-initdb.d目录下,但似乎只有在第一次创build卷时才会执行。

如何将启动脚本添加到mysql泊坞窗容器?

我用mysql启动了一个docker容器。 其实我想创build一个新的用户和一个新的表 – 我必须在MySQL Workbench中完成。 这是我的docker运行命令: docker run -p 3306:3306 –name mysql-server -v ~/Development/web/myproject/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latest 我的问题是: 我怎样才能添加一个SQL启动脚本(仅用于容器的第一次启动),它创build我的用户和我的表? 我必须做哪些步骤? 有人能帮我吗? 非常感谢!

Docker php:什么是:Docker Hub上的zts php镜像

正如我所看到的: https : version_number-zts我已经看到了标签为: version_number-zts或version_number-zts-alpine ,我想知道zts在这些标签上表示什么,以及如何与fpm或Apache的图像有很大的不同吗?