Tag: docker compose

在docker撰写容器中装载mongo数据的主机卷

我想在docker集装箱里运行mongo,以及通过docker工人使用的一些其他的。 我认为像这样安装卷将允许它持续在容器外面的数据: db: image: mongo command: -smallfiles -nojournal volumes: – ./mongo_data:/data 它似乎创build了一些目录,但主机上没有文件。 数据文件存在于容器上。 $ find mongo_data mongo_data mongo_data/configdb mongo_data/db

无法将dockerised keystone容器与dockerised mongo容器连接起来

我试图得到一个dockerised keystoneJS与dockerised mongoDB实例对话,我正在努力查看我将哪里错误链接在一起。 我已经通过在线的Docker文档和类似的例子来尝试做我正在做的事情,但是我仍然无法让这两个人互相交stream。 主要的问题是无法find“localhost:27017”或错误:无效的mongodb uri。 必须以“mongodb://”开始收到:“mongodb:// mongo:27017 /” 以下是相关文件: Dockerfile for keystone FROM node:6.9.1 RUN mkdir -p /docker WORKDIR /docker COPY . /docker RUN npm install –no-optional CMD ["node", "keystone.js"] 泊坞窗,compose.yml version: '2' services: keystone: image: keystone-test ports: – "3000:3000" depends_on: – mongo networks: – localnetwork environment: – MONGO_URI="mongodb://mongo:27017/" mongo: image: mongo:3 command: mongod […]

以dock swarm模式通过docker-compose部署Spark集群

我正在尝试使用docker-compose文件在这里定义的docker swarm模式下工作的机器部署我的apache spark集群。 我正在调用docker stack deploy -c compose-file.yml spark_cluster在我的dockerswarmpipe理器机器部署我的服务定义,但我得到以下情况时,我打docker stack ps spark_cluster : ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS iy255fvx5ub8 spark_cluster_master.1 sauloricci/docker-spark:latest manager-swarm Running Running 20 seconds ago mrr6p9dmodh5 \_ spark_cluster_master.1 sauloricci/docker-spark:latest worker2-swarm Shutdown Rejected 35 seconds ago "invalid mount config for type " u1daipeekanv \_ spark_cluster_master.1 sauloricci/docker-spark:latest worker2-swarm Shutdown Rejected […]

如何填充docker-compose.yaml中的卷

我开始写我的第一个docker-compose.yml文件来设置组成我的应用程序的服务(所有node-js)的组合。 其中一个服务(web-server-bespoke,不是express)既有一大组模块,也有一组更大的bower_components。 为了提供关注点的分离,所以我可以更紧密地控制版本控制,我想创build两个存放node_modules和bower_components的命名卷,并将这些卷挂载到Web服务器服务的相关目录中。 令我困惑的问题是如何在启动服务时获得这两个卷。 我的困惑有两个原因: docker-compose的行为docker-compose与-d标志docker-compose ,而docker run命令与-d标志组合 – Web服务显然需要保持运行(如果失败,实际上需要重新启动),而可能填充一个或另一个的容器的卷是运行一次,因为整个应用程序是由docker-compose up命令提出的。 我可以控制这个吗? 正在运行的服务和该服务的build命令。 我真的可以使用Dockerfiles来运行npm install和bower install 。 特别是,如果我更改了Web应用程序的源代码,但是模块和bower_components不会更改,那么由于caching的结果,此构build步骤会瞬间完成吗? 我一直无法find这种行为的例子,所以我很困惑如何去做。 有人可以帮忙吗?

Docker-compose和vcs使用Dockerfile的最佳实践

我有一个关于最佳实践的问题。 比方说,我有一个web前端开发的angularjs和API来获取数据。 我把这两个放在不同的仓库里。 现在我想要dockerize整个事情。 我的想法是将Dockerfile放在每个指定其环境的项目中。 到现在为止它很好,但是当我还有一个同时启动这两个服务的docker-compose文件时呢? 首先,我应该把这个文件放在哪个回放中,其次我该如何保证图像总是最新的?

Docker-compose依赖于Docker环境之外的本地安装包

我正在使用docker-compose在我的本地环境中创build自己的图像,但是我遇到了一些问题。 看起来像做docker-compose up ,Docker compose不会运行,除非我在Docker之外的项目中本地安装了所有的软件包。 这是情景。 我有一个包简单的index.js文件( express ) const app = require('express')(); app.get('/health', (req, res) => res.status(200).send('ok')); app.listen(8080, () => console.log('magic happens here')); 一个Dockerfile来构build图像 FROM node:6.9.5 RUN mkdir -p /var/log/applications/test_dc RUN mkdir /src WORKDIR /src COPY package.json /src COPY . /src RUN npm install VOLUME ["/src", "/var/log/applications/test_dc"] EXPOSE 8080 CMD ["npm", "start"] 和一个docker-compose.yml文件启动项目(我已经删除链接的图像,以保持最小) version: […]

Docker:不能使用postgres客户端连接数据库容器

我创build了一个docker集装箱。 此数据库容器已成功运行。 我可以连接到这个容器,并查看数据库的所有细节。 这里有一些configuration: services: db: container_name: db image: postgres:latest ports: – "5432:5432" environment: POSTGRES_USER: abc POSTGRES_PASSWORD: abc POSTGRES_DB: database_dev PGDATA: /var/lib/postgresql/data/pgdata volumes: – postres_volume:/var/lib/postgresql/data/ 这是我从这个正在运行的容器中检查的信息: "NetworkSettings": { "Bridge": "", "Ports": { "5432/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "5432" } ] }, "Networks": { "medusa_default": { "IPAMConfig": null, "Links": null, "Aliases": [ "74f7f48596e3", "db" ], […]

如何在.sh文件中运行“docker-compose up”命令?

我正在尝试使用cron作业每天运行Docker容器。 * * * * * /Desktop/cron1.sh 这是我的cron1.sh文件: #!/bin/sh mkdir /home/tomato/bizzz #working cd bizzz #not working docker-compose up #not working

如何获得一个docker集装箱的IP和端口从另一个环境variables?

我使用Docker-Compose。 前段时间我用这个代码。 Nginx使用来自像“API_PORT_5432_TCP_ADDR”“API_PORT_5432_TCP_PORT”这样的环境variables的IP和端口。 现在我不能从一个容器连接到其他容器。 我在文档中发现了一些描述,“链接”应该做这样的工作,我的意思是创build环境variables,后来我可以在其他容器中获得它。 但我不知道,我做错了什么。 有没有办法解决这个问题? 如果你给我的链接或一些代码行,会很高兴。 谢谢。 version: '3.0' services: ubuntubase: build: ./ubuntu-base backend: build: ./backend links: – postgresql:db expose: – "6060" depends_on: – ubuntubase – postgresql nginxreverseproxy: build: ./nginx-reverse-proxy expose: – "80" – "443" links: – backend:api ports: – "80:80" volumes: – ./logs/:/var/log/nginx/ depends_on: – ubuntubase – backend postgresql: restart: always image: […]

在我的情况下,如何连接到Docker中的数据库?

我正试图通过docker容器连接到我的postgres。 我读了很多post,但似乎无法解决它。 我运行了下面的命令。 docker run –name some-postgres -e POSTGRES_PASSWORD=mypw -d -p 5432:5432 postgres 之后,我做docker inspect $(containerID) "NetworkSettings": { "Bridge": "", "SandboxID": "773de825919cb75482af47b85b1804f96a32bc6e9951cc0ea80752f880789717", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": { "5432/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "5432" } ] }, "SandboxKey": "/var/run/docker/netns/773de825919c", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "29c872cb1487519a8f605f7ba371e5ce84c2b163140babbb981ace8a12a273cd", "Gateway": "172.17.0.1", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": […]