标签: docker-compose

Docker Compose Up给出"系统找不到指定的文件".错误

我最近在Windows 10机器上安装了Docker Toolbox.

但是,每当我运行时,docker-compose up我收到以下错误消息:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "compose\cli\main.py", line 65, in main
  File "compose\cli\main.py", line 117, in perform_command
  File "compose\cli\main.py", line 849, in up
  File "compose\project.py", line 372, in up
  File "compose\project.py", line 539, in warn_for_swarm_mode
  File "site-packages\docker\api\daemon.py", line 33, in info
  File "site-packages\docker\utils\decorators.py", line 47, in inner
  File "site-packages\docker\client.py", line 139, in _get
  File "site-packages\requests\sessions.py", line 488, in get
  File "site-packages\requests\sessions.py", line 475, in request
  File "site-packages\requests\sessions.py", …
Run Code Online (Sandbox Code Playgroud)

python docker docker-compose

53
推荐指数
9
解决办法
4万
查看次数

Docker Service和Docker Container有什么区别?

我们什么时候使用docker service create命令,什么时候使用docker run命令?

docker dockerfile docker-compose

53
推荐指数
6
解决办法
3万
查看次数

从localhost连接到Docker MySQL容器?

我有一个docker mysql映像正在运行,以下是docker-compose.yml文件的样子:

db:
  image: mysql
  environment:
    MYSQL_ROOT_PASSWORD: ""
    MYSQL_ALLOW_EMPTY_PASSWORD: yes
  ports:
    - "3306:3306"
Run Code Online (Sandbox Code Playgroud)

这很好用.

我的问题是:如何从主机(我的macbook)上的命令行mysql客户端连接到该容器上运行的MySQL实例?

澄清:

  • 我有一个安装了Docker的macbook
  • 我有一个带有mysql的docker容器
  • 我想从我的macbook上的终端连接到上述容器上运行的mysql实例
  • 我不想使用docker命令来实现这一点.相反,我想mysql直接从终端使用客户端(不通过docker容器进行隧道传输).

我没有在本地运行MySQL,因此端口3306应该是开放的并且可以使用.

我用来启动容器的命令是: docker-compose run

mysql macos docker docker-compose

52
推荐指数
4
解决办法
7万
查看次数

使用--add-host或extra_hosts与docker-compose

docker-compose用来运行一个测试环境,它包含大约5个不同的容器.容器间链接和共享卷(卷 - 来)非常有效.我还将一些端口暴露给主机,这很好用.

我缺少的是一种将我的一些真实服务器链接到这个环境的方法,没有硬编码的IP地址.使用docker run,您可以使用--add-host/etc/hosts文件中添加另一行.有没有办法用docker-compose做类似的事情?

hosts docker docker-compose

51
推荐指数
3
解决办法
8万
查看次数

Docker-compose和pdb

我看到我不是第一个提出这个问题的人,但对此没有明确答案:

如何在Python开发中使用pdb和docker-composer?

当你问谷歌叔叔django docker你得到了很棒的docker-composer示例和教程,我有一个环境工作 - 我可以运行docker-compose up,我有一个整洁的开发人员环境,但PDB不工作(这是非常悲伤).

我可以运行定居docker-compose run my-awesome-app python app.py 0.0.0.0:8000,但后来我可以通过访问我的应用程序http://127.0.0.1:8000从主机(我可以带docker-compose up),似乎每次使用时间run新容器等制成的:dir_app_13dir_db_4我不欲望.

善意的人请帮助我.

PS
我正在使用pdb ++作为该示例,并使用此django示例中的基本docker-compose.yml .我也进行了实验,但似乎没有什么可以帮助我.我正在使用docker -composer 1.3.0rc3,因为它有Dockerfile指向支持.

python pdb docker docker-compose

51
推荐指数
2
解决办法
1万
查看次数

使用容器名称从主机访问docker容器

我正在开发一个服务,并使用docker compose来旋转postgres,redis,elasticsearch等服务.我有一个基于RubyOnRails的Web应用程序,可以从所有这些服务中进行写入和读取.

这是我的 docker-compose.yml

version: '2'

services:
  redis:
    image: redis:2.8
    networks:
      - frontapp

  elasticsearch:
    image: elasticsearch:2.2
    networks:
      - frontapp

  postgres:  
    image: postgres:9.5
    environment:
      POSTGRES_USER: elephant
      POSTGRES_PASSWORD: smarty_pants
      POSTGRES_DB: elephant
    volumes:
      - /var/lib/postgresql/data
    networks:
      - frontapp

networks:
  frontapp:
    driver: bridge
Run Code Online (Sandbox Code Playgroud)

我可以ping这个网络中的容器

$ docker-compose run redis /bin/bash
root@777501e06c03:/data# ping postgres
PING postgres (172.20.0.2): 56 data bytes
64 bytes from 172.20.0.2: icmp_seq=0 ttl=64 time=0.346 ms
64 bytes from 172.20.0.2: icmp_seq=1 ttl=64 time=0.047 ms
...
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.现在我想在我的主机上的rails应用程序上运行ruby但是能够使用url访问postgres实例,就像postgresql://username:password@postgres/database目前那样是不可能的

$ ping postgres
ping: unknown host …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

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

在 M1 Mac 上构建时 Docker 失败(exec /usr/local/bin/docker-entrypoint.sh:exec 格式错误)

我有一个遗留项目正在运行docker-compose。一年前,它是从以下配置开始的。

现在它抛出一个错误:

exec /usr/local/bin/docker-entrypoint.sh: exec format error
Run Code Online (Sandbox Code Playgroud)

我想使用 CMD 配置运行容器。我在网上发现#!/bin/bash需要添加以避免这个错误,我将其添加到Dockerfile中。

没有自定义docker-entrypoint.sh定义。据我了解,需要有一个入口点或一个命令。

CMD 的主要目的是为执行容器提供默认值。这些默认值可以包含可执行文件,也可以省略可执行文件,在这种情况下,您还必须指定 ENTRYPOINT 指令。

Dockerfile

#!/bin/bash

#nodejs
FROM node:11.15
ENV NODE_VERSION 11.15

#app directory
WORKDIR ./

#mongodb tools
RUN wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add -
RUN echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | tee /etc/apt/sources.list.d/mongodb-org-5.0.list
RUN apt-get update
RUN apt-get install -y mongodb

RUN apt-get install nano

#nodejs packages
# A wildcard is used to ensure both package.json AND package-lock.json are copied …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

51
推荐指数
2
解决办法
6万
查看次数

Kubernetes Pods和Docker Compose之间有什么区别(Composures?)

Kubernetes Pods和Docker Compose脚本(以下称为"Compositions")的结果似乎都会产生虚拟计算机集群.

群集中的计算机都可以配置为相互通信,因此您可以编写一个镜像整个端到端生产配置的脚本.单个脚本允许您在任何容器主机上部署该群集.

鉴于两个系统之间的相似性,我很难理解两者之间的差异.

为什么我会选择一个而不是另一个?它们是相互排斥的系统还是我可以在kubernetes中运行组合.

在设计集装箱系统时是否需要考虑任何关键因素?如果我设计的架构网站今天,并会尝试建立一个基于容器的系统.我应该设计的最重要的事情是什么?(与在单一机器系统上构建相比)

containers docker kubernetes docker-compose

50
推荐指数
3
解决办法
2万
查看次数

在Docker-Compose中禁用一个容器的日志记录

我有一个使用Docker compose启动的Web应用程序,我想要禁用所有日志记录(或者至少将其打印到syslog而不是文件).

当我的Web应用程序工作时,它可以在启动时快速生成11GB的日志文件,因此这会非常快地占用我的磁盘空间.

我知道普通的docker有运行命令的日志选项,但在我使用的Docker Compose中

Docker-组成

在应用程序文件夹中启动我的应用程序.我如何在我的情况下启用此功能?我没有在网上找到具体案例.

docker docker-compose

50
推荐指数
3
解决办法
2万
查看次数

有没有办法在docker-compose.yml中禁用服务

我发现自己处于这种情况,我想暂时禁用docker-compose文件中的服务.

当然我可以发表评论,但有没有选择只说" enabled: false"?

docker docker-compose

50
推荐指数
6
解决办法
2万
查看次数

标签 统计

docker ×10

docker-compose ×10

python ×2

containers ×1

dockerfile ×1

hosts ×1

kubernetes ×1

macos ×1

mysql ×1

pdb ×1