Tag: compose

在使用docker-compose和boot2docker执行命令之前装入卷

我使用的是OSX,我已经安装了使用boot2docker运行docker和容器的Kitematic。 我创build了一个容器,需要在docker文件夹下挂载一些本地文件夹,然后用docker-compose做到这一点: web: build: . ports: – "9001:9001" – "9002:9002" volumes: – /projects/test /somepath – /projects/test2 /someotherpath command: ant clean all;./server.sh start 当我运行docker-compose up ,似乎在执行命令阶段之前未装入卷,导致我收到错误日志,指出/somepath和/someotherpath无法find。 我不明白docker-commandconfiguration有什么问题。

在使用docker命令创build并提交更改后无法看到文件

我创build了名为“task1”的docker集装箱。 我执行一个shell命令创build一个包含单词“hello”的文件foo.txt。 我提交docker容器“task1” 我用-it命令以交互模式进入docker container“task1” 但是我没有看到文件“foo.txt”。 我期待这个,因为我已经做了容器。 但是,当我只是通过“ls”命令,并在同一个容器“task1”中执行它,它显示文件“foo.txt”。 这里有什么问题? 以下是我正在尝试上述活动的控制台详细信息。 感谢你的帮助。 谢谢。 ~/G/S/d/d/H/test_io   master ±  docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 35784a56ffa3 task1 "/bin/bash" 5 seconds ago Up 4 seconds task2 eb03c7b89e36 task1 "/bin/bash" 6 minutes ago Up 6 minutes clever_bell 352c6f8f1ff2 registry:2 "/bin/registry /etc/d" 10 days ago […]

在docker-compose构build过程中运行webpack构build

我正在尝试用js文件的缩小版本来构build一个生产docker容器。 在我的Dockerfile ,在安装npm包之后,我正在尝试构buildwebpack编译。 RUN npm install -gn # upgrading the npm version RUN n stable ADD ./webpack/package.json /package.json RUN npm install –production RUN npm run build-production # <<< Fails here 在上一个命令RUN npm run build-production与npm抱怨,它无法find已安装的软件包( NODE_PATH设置) RUN npm run build-production NODE_PATH过程将失败。 然而,当我添加调用npm run build-production到我的ENTRYPOINT脚本,它工作正常,编译一切如预期。 但是,它运行webpack构build一切我开始容器,这是不希望的。 为什么最后一个docker build步骤找不到前面步骤中安装的软件包? 但为什么它通过入口点脚本工作? 什么是最好的方式来添加到我的Docker文件的dockerbuild设的webpack生成?

docker-compose,导出environnementvariables在Jenkins中不起作用

我有一个不同的variablesdocker-compose.yml文件 version: "2" services: data: image: "${registryUrl}/data:${image_version}" 在我的shell中,我导出了registryUrl&image_version export registryUrl=zhcjie.distribution.ata.com:8652 export image_version=1.0-SNAPSHOT docker-compose up 这是在我的本地工作(我使用boot2Docker),但它不能在jenkins工作。 我有一个错误的信息。 The registryUrl variable is not set. Defaulting to a blank string. The image_version variable is not set. Defaulting to a blank string. 我尝试使用EnvInject插件传递envvariables,但它不起作用。

尽pipe服务运行,Docker容器立即退出

类似的问题似乎也存在,但都没有明确的答案(至less不是我)。 我有一个容器里面有一个bin/start-ds文件的LDAP服务器。 问题是一旦shell脚本完成,容器就退出。 如果脚本只是打印信息,我会理解退出,但在我的情况下,它启动一个过程。 而且由于一个进程正在运行,我希望我的容器无限期运行,因为我在detach模式下启动它。 但事实并非如此,它立即退出。 任何指针将非常感激。 以下是我简单的Dockerfile : FROM unboundid-base:0.2 MAINTAINER helloworld CMD ["/home/unboundid/UnboundID-DS/bin/start-ds"]

如何dynamic地将Docker容器的IP地址映射到另一个容器

我有几个泊坞窗容器在主机上运行。 我有一个场景,我需要将一个容器的IP地址映射到另一个容器中可用的configuration文件。 我知道我可以使用docker inspect [container]命令获取容器的IP地址。 我假设IP地址是每次重新启动容器时dynamic分配的。 所以每次我需要在另一个容器中更改此IP地址。 是否有可能有一个静态IP容器或我可以使用主机的IP地址,而不是容器的IP地址。 我是docker世界的新手。 另外我有一个情况,我需要映射IP地址到另一个主机上运行的容器。 例如,我有一个在HostA和HostB运行的tomcat容器中运行的redis容器。 为了从tomcat与redis通信,我需要在tomcat容器中映射redis的ip地址和端口。 docker工人如何做到这一点?

在容器中安装Docker,供GitLab CI构build使用

我是Docker的新手,但有一个Java Web应用程序项目,我的Maven构build生成并安装Docker镜像。 即 mvn clean install 生产: REPOSITORY TAG IMAGE ID CREATED SIZE registry.gitlab.com/me/myapp 0.0.1-SNAPSHOT-dev 12d69e5ab28b 45 minutes ago 666 MB 我正在使用Spotify的Maven插件来构build这个,然后我可以使用以下方法将其部署到存储库: mvn docker:push 这很好。 但是:我使用CI的GitLab,我的.gitlab-ci.yml文件包含: image: maven:3.3.9-jdk-8 build: script: "mvn clean install && mvn docker:push" 这几乎工作,但因为Docker没有安装在我的运行构build的容器中失败: [INFO] Building image registry.gitlab.com/me/myapp Dec 31, 2016 8:30:45 PM org.apache.http.impl.execchain.RetryExec execute INFO: I/O exception (java.io.IOException) caught when processing […]

Docker-compose mysql:import .sql

我的docker-compose脚本成功pipe理运行一个mysql / mariadb服务,并将包含数据库模式的“init.sql”脚本复制到“/docker-entrypoint-initdb.d”。 但是,sql脚本从来没有像按照文档那样执行。 没有错误,没有在日志中。 我检查了sql文件被复制到容器中的正确位置。 我检查了脚本在空数据库上没有错误的情况下运行。 我错过了什么? 如果脚本被执行(甚至由于某种原因,什么都不做),它甚至可以在日志中看到吗? ( 编辑: docker-compose版本:1.8.1,图片mariadb:10.1.21) # docker-compose.yml version: '2' volumes: data-volume: {} services: mysql: image: mariadb ports: – "3306:3306" environment: MYSQL_ROOT_PASSWORD: pwd MYSQL_DATABASE: users_db volumes: – data-volume:/var/lib/mysql – ./resources/docker-sql/init.sql:/docker-entrypoint-initdb.d/init.sql backend: image: myapp ports: – "8000:80" depends_on: – mysql links: – mysql

如何在Postgres Docker容器中创build数据库?

我想在启动Postgres Docker镜像后创build一个数据库。 问题是如果我把我的数据库创build命令在我的docker-compose文件或者一个子dockerfile中,它会覆盖基本映像的命令来真正启动postgres – 所以我的psql没有启动服务器连接到。 例如: version: '2' services: db: command: bash -c "su – postgres -c '/usr/lib/postgresql/9.6/bin/psql -h 127.0.0.1 -p 6543 -U postgres -c \"create database dev;\"'" environment: – PGDATA=/pg – POSTGRES_PASSWORD=postgres – POSTGRES_USER=postgres image: postgres:9.6 ports: – '6543:5432' tmpfs: /pg 而图像文档并没有说明他们正在运行的启动Postgres的确切命令。 我试着把bash -c "postgres && …放在我的命令开头,但是它告诉我我不能以root身份启动Postgres。 我唯一可能的解决scheme是放弃docker-compose和dockerfile以支持bash脚本解决scheme,例如docker run postgres:9.6 psql -h postgres -U […]

Docker容器,内存消耗和日志

我一直在尝试Docker几天。 我使用的是基本上包含MySQL(MariaDB),PHP(php-fpm)和NGINX的Drupal镜像(docker4drupal)。 几乎每次我把数据库导入到数据库容器,在一个512MB RAM的VPS上,MariaDB的容器就会死掉,而像“MySQL服务器已经消失”这样的消息出现了……当我的VPS有1GB或2GB内存。 所以,这似乎是一个记忆问题,但我需要证据! 我不知道日志在哪里告诉我,我的容器因为内存不足而死亡。 我检查MariaDB日志,但我找不到任何东西…它只是说日志,像“数据库不正常关机”,并且“开始”,然后“wating连接”… 所以,独立于我的MariaDBconfiguration(这是不适合的512MB VPS)…我在哪里可以明确地find为什么容器与数据库服务器死亡的原因? 任何帮助是受欢迎的。 非常感谢。 PD:我从PHP容器执行mysql cli,这就是为什么尽pipe数据库容器死亡,我仍然可以看到输出发生了错误。