标签: docker-compose

“docker compose”和“docker-compose”之间的区别


注意:这个问题是在更新 docker 文档之前创建的(这就是它们更新的原因 - 请参阅答案)。请不要发布指出差异的文档的答案:-)


我一直在使用docker-compose,但注意到还有一个docker compose(没有破折号)。
我无法通过谷歌搜索快速确定两种形式之间的差异。

任何人?

docker compose的帮助:

在此输入图像描述

docker-compose的帮助:

在此输入图像描述

docker docker-compose

423
推荐指数
6
解决办法
14万
查看次数

使用Docker-Compose,如何执行多个命令

我想做这样的事情,我可以按顺序运行多个命令.

db:
  image: postgres
web:
  build: .
  command: python manage.py migrate
  command: python manage.py runserver 0.0.0.0:8000
  volumes:
    - .:/code
  ports:
    - "8000:8000"
  links:
    - db
Run Code Online (Sandbox Code Playgroud)

yaml docker docker-compose

417
推荐指数
13
解决办法
33万
查看次数

352
推荐指数
5
解决办法
15万
查看次数

Docker Compose与Dockerfile - 哪个更好?

我一直在阅读并了解Docker,我正在尝试正确选择要使用的Django设置.到目前为止,要么:

Docker ComposeDockerfile

我明白这Dockerfiles是用过的Docker Compose,但我不确定将所有内容放在一个大型Dockerfile中,并FROM为不同的图像添加多个命令是不是很好?

我想使用几个不同的图像,包括:

uwsgi
nginx
postgres
redis
rabbitmq
celery with cron
Run Code Online (Sandbox Code Playgroud)

请告知使用Docker设置此类环境的最佳做法.

如果它有帮助,我在Mac上,所以使用boot2docker.

我遇到的一些问题:

  1. Docker Compose与Python3不兼容
  2. 我想将我的项目容器化,所以如果一个大的Dockerfile不理想,那么我觉得我需要使用Docker Compose来解决它
  3. 我可以让Py2和Py3项目兼容,所以我倾向于django-compose

development-environment docker boot2docker dockerfile docker-compose

334
推荐指数
9
解决办法
15万
查看次数

如何使用docker-compose重新启动单个容器

我有一个docker-compose.yml包含4个容器的文件:redis,postgres,api,worker

在开发worker期间,我经常需要重新启动它才能应用更改.有没有什么好方法可以重新启动容器(例如worker)而无需重新启动其他容器?

docker docker-compose

277
推荐指数
10
解决办法
14万
查看次数

Docker Compose在启动Y之前等待容器X.

我使用的RabbitMQ并从一个简单的Python样品在这里 一起泊坞窗-撰写.我的问题是我需要等待rabbitmq完全启动.从我到目前为止搜索到的,我不知道如何等待容器x(在我的情况下是工人)直到y(rabbitmq)开始.

我找到了这个博文,他检查其他主机是否在线.我还发现了这个docker命令:

等待

用法:docker等CONTAINER [CONTAINER ...]

阻止,直到容器停止,然后打印其退出代码.

等待容器停止可能不是我想要的但如果是,是否可以在docker-compose.yml中使用该命令?到目前为止,我的解决方案是等待几秒钟并检查端口,但这是实现此目的的方法吗?如果我不等,我会收到错误.

泊坞窗,compose.yml

worker:
    build: myapp/.
    volumes:
    - myapp/.:/usr/src/app:ro

    links:
    - rabbitmq
rabbitmq:
    image: rabbitmq:3-management
Run Code Online (Sandbox Code Playgroud)

python hello sample(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', 5672))
        isreachable = True
    except socket.error as e:
        time.sleep(2)
        pingcounter += 1
    s.close()

if isreachable:
    connection = pika.BlockingConnection(pika.ConnectionParameters(
            host="rabbitmq"))
    channel = connection.channel()

    channel.queue_declare(queue='hello')

    channel.basic_publish(exchange='', …
Run Code Online (Sandbox Code Playgroud)

docker-compose

271
推荐指数
13
解决办法
18万
查看次数

在docker_compose.yml中链接和depends_on之间的差异

根据Docker Compose的撰写文件文档:

  • depends_on - 服务之间的快速依赖性.
  • links- 链接到另一个服务中的容器,并以与depends_on相同的方式表达服务之间的依赖关系.

我不明白链接到其他容器的目的,所以两个选项之间的差异对我来说似乎仍然很难.

如果有一个例子会更容易,但我找不到任何例子.

我注意到,当我将容器B与容器A链接时,容器B将在容器A的shell内"ping".

ping B在容器A里跑了bash,得到了这样的结果(仅供参考,来自互联网的图片)

在此输入图像描述

docker dockerfile docker-compose

248
推荐指数
4
解决办法
14万
查看次数

docker compose和kubernetes之间有什么区别?

虽然潜入Docker,Google Cloud和Kubernetes,但还没有清楚地理解它们中的所有三个,在我看来这些产品是重叠的,但它们不兼容.

例如,需要重新编写docker-compose文件,以便可以将应用程序部署到Kubernetes.

有人可以提供一个高级粗略描述Docker,Docker-Compose,Docker Cloud和Kubernetes重叠的位置以及哪一个依赖于另一个?

docker kubernetes docker-compose

236
推荐指数
5
解决办法
4万
查看次数

如何使用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
Run Code Online (Sandbox Code Playgroud)

输出:

NAME                    READY     STATUS              RESTARTS   AGE
hdfs-2425930030-q0sdl   0/1       ContainerCreating   0          10m
Run Code Online (Sandbox Code Playgroud)

它只是陷入某种状态但从未达到就绪状态.


2.我尝试创建一个注册表,然后将图像放入其中,但这也无效.我可能做错了但我找不到正确的指令来完成这项任务.

请提供在本地kubernetes实例中使用本地docker镜像的说明.
操作系统:ubuntu 16.04
Docker:Docker版本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", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"1970-01-01T00:00:00Z", GoVersion:"go1.7.1", Compiler:"gc", Platform:"linux/amd64"}
Run Code Online (Sandbox Code Playgroud)

如果有人可以帮助我找到一个使用docker-compose来做这个的解决方案,那就太棒了.谢谢.

编辑:

加载的图片eval $(minikube docker-env:

REPOSITORY                                            TAG                 IMAGE ID            CREATED             SIZE
fluxcapacitor/jupyterhub                              latest              e5175fb26522        4 weeks ago         9.59 GB
fluxcapacitor/zeppelin                                latest …
Run Code Online (Sandbox Code Playgroud)

linux docker kubernetes docker-compose

227
推荐指数
15
解决办法
11万
查看次数

使用Docker Compose的交互式shell

有没有办法只使用Docker Compose在容器中启动交互式shell?我在docker-compose.yml中试过这样的东西:

myapp:
  image: alpine:latest
  entrypoint: /bin/sh
Run Code Online (Sandbox Code Playgroud)

当我使用docker-compose启动此容器时,它会立即退出.是否有任何可以添加到entrypoint命令的标志,或作为myapp的附加选项,以启动为交互式shell?

我知道有一些原生的docker命令选项来实现这一点,只是好奇,如果它也可以只使用Docker Compose.

shell interactive docker docker-compose

214
推荐指数
10
解决办法
15万
查看次数