Questions tagged «docker-compose»

Compose是用于使用Docker定义和运行复杂应用程序的工具。使用Compose,您可以在一个文件中定义一个多容器应用程序,然后在一个命令中旋转应用程序,该命令完成了运行该应用程序所需的一切。



11
Docker Compose与Dockerfile-哪个更好?
我一直在阅读和学习有关Docker的知识,并试图正确选择要使用的Django设置。到目前为止,有: Docker Compose或Dockerfile 我了解在Dockerfiles中使用了Docker Compose,但是我不确定是否将所有内容放入一个大的Dockerfile中并用多个FROM命令处理不同的映像是否是一个好习惯? 我想使用几个不同的图像,包括: uwsgi nginx postgres redis rabbitmq celery with cron 请提供关于使用Docker设置此类环境的最佳实践的建议。 如果有帮助,我在Mac上,请使用boot2docker。 我遇到的一些问题: Docker Compose与Python3不兼容 我想对我的项目进行容器化,所以如果一个大的Dockerfile不理想,那么我觉得我需要使用Docker Compose分解它 我可以使项目Py2和Py3兼容,所以倾向于django-compose

8
如何使用docker-compose重新启动单个容器
我有一个docker-compose.yml包含4个容器的文件:redis,postgres,api,worker 在worker的开发过程中,我经常需要重新启动它才能应用更改。有什么好的方法可以在worker不重新启动其他容器的情况下重新启动容器(例如)?

8
Docker Compose和Kubernetes有什么区别?
在深入研究Docker,Google Cloud和Kubernetes的同时,还没有清楚地了解这三者,在我看来这些产品是重叠的,但它们并不兼容。 例如,docker-compose.yml需要重写文件,以便可以将应用程序部署到Kubernetes。 有人可以对Docker,Docker Compose,Docker Cloud和Kubernetes重叠之处以及其中一个相互依赖的地方进行概括的粗略描述吗?

16
Docker Compose在启动Y之前等待容器X
我正在从这里使用Rabbitmq和一个简单的python示例以及docker -compose。我的问题是我需要等待rabbitmq完全启动。从到目前为止的搜索结果来看,我不知道如何等待容器x(在我的情况下为worker)启动y(rabbitmq)。 我发现此博文中他检查其他主机是否在线。我还发现了这个docker命令: 等待 用法:泊坞窗等待CONTAINER [CONTAINER ...] 阻塞直到容器停止,然后打印其退出代码。 等待容器停止可能不是我想要的,但是如果是,可以在docker-compose.yml中使用该命令吗?到目前为止,我的解决方案是等待几秒钟并检查端口,但这是实现此目的的方法吗?如果我不等,我会报错。 docker-compose.yml worker: build: myapp/. volumes: - myapp/.:/usr/src/app:ro links: - rabbitmq rabbitmq: image: rabbitmq:3-management python hello示例(rabbit.py): import pika import time import socket pingcounter = 0 isreachable = False while isreachable is False and pingcounter < 5: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: s.connect(('rabbitmq', …

19
如何在Minikube中使用本地docker镜像?
我有几个要使用的docker镜像minikube。我不想先上传然后下载相同的图像,而不仅仅是直接使用本地图像。我该怎么做呢? 我尝试过的东西: 1.我尝试运行这些命令(分别两次删除minikube实例并重新开始) kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 imagePullPolicy=Never 输出: NAME READY STATUS RESTARTS AGE hdfs-2425930030-q0sdl 0/1 ContainerCreating 0 10m 它只是停留在某些状态,而从未达到就绪状态。 2.我尝试创建一个注册表,然后将图像放入其中,但这也不起作用。我可能做错了,但是找不到正确的说明来完成此任务。 请提供说明以在本地kubernetes实例中使用本地docker映像。 操作系统:ubuntu 16.04 Docker:Docker version 1.13.1,build 092cba3 Kubernetes: Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"2017-02-15T06:40:50Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"5", …

15
如何修复Docker:获得权限被拒绝的问题
我在装有Ubuntu OS的计算机上安装了Docker。安装完docker之后,当我运行时 sudo docker run hello-world 没关系,但是我想隐藏单词sudo以使命令更短。 如果我写的命令没有这个词 sudo docker run hello-world 显示以下内容: docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied.See 'docker run --help'. 当我尝试制作时也是如此 docker-compose up 我该如何解决?

3
docker_compose.yml中链接和Depends_on之间的区别
根据Docker Compose的compose-file文档: depends_on -表达服务之间的依赖性。 links-链接到另一个服务中的容器,并以与depends_on相同的方式表示服务之间的依赖关系。 我不明白链接到其他容器的目的,所以两个选项之间的差异对我来说似乎仍然很困难。 如果有一个例子,会容易得多,但是我找不到任何例子。 我注意到,当我将容器B与容器A链接在一起时,容器B将在容器A的外壳内“可ping通”。 我跑进了ping BA容器bash,得到了这样的结果(仅供参考,来自Internet的图像)

9
使用Docker Compose的交互式Shell
有什么方法可以仅使用Docker Compose在容器中启动交互式shell?我已经在docker-compose.yml中尝试过类似的操作: myapp: image: alpine:latest entrypoint: /bin/sh 当我使用docker-compose up启动此容器时,它立即退出。我可以添加到entrypoint命令或myapp的附加选项作为交互式shell启动吗? 我知道有本地的docker命令选项可以实现此目的,只是想知道是否也可以仅使用Docker Compose。

13
如何删除所有Docker本地Docker映像
我最近开始使用Docker,但从未意识到我应该使用docker-compose down代替ctrl-c或docker-compose stop摆脱我的实验。现在,我在本地有大量不需要的Docker映像。 我是否可以运行一个标志来删除所有本地docker映像和容器? 像docker rmi --all --force--all标志这样的东西并不存在,但我正在寻找具有类似想法的东西。

13
如何在卷中装载单个文件
我正在尝试将php应用程序码头化。在dockerfile中,我下载了存档,将其解压缩等。 一切正常,但是如果发布了新版本,并且我更新了dockerfile,则必须重新安装应用程序,因为config.php被覆盖了。 因此,我以为可以像将数据库一样将文件挂载为卷。 我尝试了两种方式,分别是体积和直接路径。 码头工人组成: version: '2' services: app: build: src ports: - "8080:80" depends_on: - mysql volumes: - app-conf:/var/www/html/upload - app-conf:/var/www/html/config.php environment: DB_TYPE: mysql DB_MANAGER: MysqlManager mysql: image: mysql:5.6 container_name: mysql volumes: - mysqldata:/var/lib/mysql ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: MYSQL_DATABASE: MYSQL_USER: MYSQL_PASSWORD: volumes: mysqldata: app-conf: 导致错误: 我尝试使用给定的路径(已安装的卷)进行尝试。 /src/docker/myapp/upload:/var/www/html/upload /src/docker/myapp/upload:/var/www/html/config.php …

13
多个docker-compose项目之间的通信
我docker-compose.yml在两个不同的文件夹中有两个单独的文件: ~/front/docker-compose.yml ~/api/docker-compose.yml 如何确保in中的容器front可以向in中的容器发送请求api? 我知道--default-gateway可以docker run为单个容器使用选项设置,以便可以为该容器分配特定的IP地址,但是使用时似乎没有此选项docker-compose。 目前,我最终做了一个,docker inspect my_api_container_id然后查看输出中的网关。它可以工作,但问题是该IP是随机分配的,因此我不能依靠它。 因此,此问题的另一种形式可能是: 我可以使用docker-compose将固定IP地址分配给特定容器吗? 但最后我要照顾的是: 两个不同的docker-compose项目如何相互通信?


10
如何在docker-compose.yml中重建Docker容器?
docker-compose.yml中定义了一些服务范围。这些服务已启动。我只需要重建其中之一,然后启动它即可启动其他服务。我运行以下命令: docker-compose up -d # run all services docker-compose stop nginx # stop only one. but it still running !!! docker-compose build --no-cache nginx docker-compose up -d --no-deps # link nginx to other services 最后,我得到了旧的nginx容器。顺便说一句,docker-compose不会杀死所有正在运行的容器!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.