标签: docker-compose

docker comp服务和容器之间的区别

volumes_from在docker compose中经历了选项.显然,您可以从容器或服务导入卷.从docker撰写的文档中,它是:

volumes_from

从另一个服务或容器挂载所有卷,可选择指定只读访问(ro)或读写(rw).

volumes_from:
 - service_name
 - service_name:ro
 - container:container_name
 - container:container_name:rw
Run Code Online (Sandbox Code Playgroud)

注意:仅在版本2文件格式中支持container:...格式.在版本1中,您可以使用容器名称而不将其标记为:

- service_name
- service_name:ro
- container_name
- container_name:rw
Run Code Online (Sandbox Code Playgroud)

我很困惑,这里的容器和服务有什么区别?

docker docker-compose

28
推荐指数
1
解决办法
8648
查看次数

System.Net.Http.HttpRequestException:无法分配请求的地址 - 本地主机中的 2 个 .net core Web 应用程序之间通信时出错

我是 docker 新手,我有一个包含 2 个 dotnet 核心项目的 Visual Studio 解决方案 - UI 和 API。我已经为这两个项目添加了 docker 支持,并且在我调试时它们都可以正常工作。现在他们有一个 http 客户端可以从网络调用 api,但它突然开始给出“无法分配请求的地址”错误。

奇怪的是,这个错误只出现在一台电脑上。我有第二台电脑,仍然可以顺利运行项目。其他团队成员都没有看到此错误。

我已经修剪了所有容器和图像,但这没有帮助。我没有使用 docker-compose,所以我在相关问题上找到的答案对我不起作用。

这里的文章解释了 localhost 在 docker 中如何以不同的方式解释,但我不确定如何使他的解决方案为我工作。

事实上,这个问题在其他电脑上没有发生,这才是真正让我困惑的地方。

注意:我不确定需要共享代码的哪一部分,因为我不知道与此问题相关的内容。

dotnet-httpclient docker .net-core docker-compose asp.net-core

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

Docker compose .env 默认带有后备

我想将docker-compose.yaml文件保存在 git 存储库中。我想要一些默认.env变量,但我也想要一些.env.local可以覆盖的东西.env,但我不想提交,.env.local所以它应该被 gitignored。

有没有办法告诉docker-compose.yaml“如果存在则使用.env.local,否则使用.env”?

这个想法是允许某人克隆存储库,.env.local如果他们愿意的话可以使用自己的存储库,而无需 git 更改来提交或使用默认.env值(如果他们不想自定义它)。

docker docker-compose

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

dlopen: libcrypt.so.1: 无法打开共享对象文件: 没有这样的文件或目录

我使用EndeavourOS并于 2022 年 2 月 17 日更新了我的系统

sudo pacman -Syu
Run Code Online (Sandbox Code Playgroud)

从那时起,当我运行时docker-compose,我收到此错误消息:

[4221] 加载 Python lib '/tmp/_MEIgGJQGW/libpython3.7m.so.1.0' 时出错:dlopen:libcrypt.so.1:无法打开共享对象文件:没有这样的文件或目录

一些论坛帖子建议重新安装 docker-compose,我照做了。我尝试了以下解决方案,但都没有成功:

Python3.7:加载共享库时出错:libpython3.7m.so.1.0

我该如何解决这个问题?

python archlinux docker-compose

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

Ubuntu和更新Docker

我正在尝试运行最新的稳定版docker和docker-compose.

我按照https://docs.docker.com/engine/installation/linux/ubuntulinux/上的说明进行操作

显然当前版本的docker-compose是1.7.

然而,在完成文档,安装docker-engine后,我得到:

$ docker-compose --version
docker-compose version: 1.4.0
Run Code Online (Sandbox Code Playgroud)

$ docker --version
Docker version 1.11.1, build 5604cbe
Run Code Online (Sandbox Code Playgroud)

当我尝试更新它时,我得到以下内容:

$ sudo apt-get upgrade docker-engine
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... docker-engine is already the newest version.
Done
Run Code Online (Sandbox Code Playgroud)

更新

这只是变得越来越陌生.在尝试下面的所有建议后,我现在得到这个:

$ docker-compose -v
The program 'docker-compose' is currently not installed. You can install it by typing:
sudo apt-get install docker-compose
anton@Charles:~$ sudo apt-get install docker-compose
Reading package lists... Done
Building dependency …
Run Code Online (Sandbox Code Playgroud)

ubuntu docker docker-compose

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

Docker在运行之前组合卷安装

我有一个Dockerfile,我指的是docker-compose.yml.

我希望docker-compose.yml中的卷安装发生在Dockerfile之前RUN.

Dockerfile:

FROM node

WORKDIR /usr/src/app

RUN npm install --global gulp-cli \
 && npm install

ENTRYPOINT gulp watch
Run Code Online (Sandbox Code Playgroud)

泊坞窗,compose.yml

version: '2'

services:
  build_tools:
    build: docker/gulp
    volumes_from:
      - build_data:rw

  build_data:
    image: debian:jessie
    volumes:
      - .:/usr/src/app
Run Code Online (Sandbox Code Playgroud)

首先完成Dockerfile,然后从docker-compose安装它是完全合理的,但有没有办法解决它.

我想保持Dockerfile的通用性,同时从compose中传递更多特定的位.也许这不是最好的做法?

docker dockerfile docker-compose

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

Visual Studio 2017何时,何地以及如何设置DOCKER_BUILD_SOURCE环境变量

在Visual Studio 2017中创建具有docker支持的新.NET核心应用程序时,它会创建许多docker-compose.yml文件.docker-compose.vs.debug.yml和release变量都包含对名为DOCKER_BUILD_SOURCE的环境变量的引用:

version: '2'

services:
  app:
    image: app:dev
    build:
      args:
        source: ${DOCKER_BUILD_SOURCE}
    environment:
      - DOTNET_USE_POLLING_FILE_WATCHER=1
    volumes:
      - ./app:/app
      - ~/.nuget/packages:/root/.nuget/packages:ro
      - ~/clrdbg:/clrdbg:ro
    entrypoint: tail -f /dev/null
    labels:
      - "com.microsoft.visualstudio.targetoperatingsystem=linux"

The purpose of this variable seems to be a reference to the source directory, however, it always seems to be empty.
Run Code Online (Sandbox Code Playgroud)

我无法找到有关此主题的更多详细信息...有没有人有想法或指向某些文档的指针?

environment-variables docker docker-compose visual-studio-2017

27
推荐指数
1
解决办法
2395
查看次数

错误:web使用图像,跳过(docker compose)

我目前正在尝试node express使用https://medium.com/@sunnykay/docker-development-workflow-node-express-mongo-4bb3b1f7eb1e本教程mongodb

第一部分工作正常,在哪里建立docker-compose.yml 它的工作完全找到在本地建立它所以我试图标记它,并推入我dockerhub学习和尝试更多.

这最初是yml教程后面的文件中的内容

version: "2"
services:
  web:
    build: .
    volumes:
      - ./:/app
    ports:
      - "3000:3000"
Run Code Online (Sandbox Code Playgroud)

当我使用docker-compose build和时,这就像一个魅力docker-compose up

所以我试着把它推到我的dockerhub,我也把它标记为 node-test

然后我将yml文件更改为

version: "2"
services:
  web:
    image: "et4891/node-test"
    volumes:
      - ./:/app
    ports:
      - "3000:3000"
Run Code Online (Sandbox Code Playgroud)

然后我删除了我以前的所有图像,以确保它也有效...但是当我运行时,docker-compose build 我看到这个消息error: web uses an image, skipping,没有任何反应.

我试过谷歌搜索错误,但我找不到任何东西.

有人可以帮我一把吗?

提前致谢

mongodb node.js docker docker-compose

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

使用 docker-compose 的堆栈名称

有没有办法在使用 docker-compose 时设置堆栈名称?

目前它采用文件夹名称(这是一个可怕的区域),这会导致一些混乱。

例如,我们有几个项目有一个包含数据库堆栈的数据库文件夹。在单个主机上运行这些时,我们现在有几个数据库堆栈。

docker-compose

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

在通过docker-compose运行时,Flask CLI抛出“ OSError:[Errno 8] Exec格式错误”

我正在使用自定义脚本运行Flask应用程序。还是尝试,无论如何。

我在Windows 10上,应用程序应在Linux Docker容器中使用以下命令运行:

docker-compose up api
Run Code Online (Sandbox Code Playgroud)

Docker-compose是version 1.23.2。在dockerfile中,该api服务通过以下命令运行:

command: python manage.py run --host "0.0.0.0" --with-threads
Run Code Online (Sandbox Code Playgroud)

在尝试启动时,我看到了异常

OSError: [Errno 8] Exec format error: '/api/manage.py'
Run Code Online (Sandbox Code Playgroud)

我最初以为这将是“可怕的Windows行尾”,再次给我,但是dos2unix在我的所有源文件上运行都无法解决问题。

如何避免此错误?


manage.py

docker-compose up api
Run Code Online (Sandbox Code Playgroud)

完整回溯

api_1          | Traceback (most recent call last):
api_1          |   File "manage.py", line 22, in <module>
api_1          |     cli()
api_1          |   File "/usr/local/lib/python3.6/site-packages/click/core.py", line 764, in __call__
api_1          |     return self.main(*args, **kwargs)
api_1          |   File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 380, in main
api_1          | …
Run Code Online (Sandbox Code Playgroud)

python windows flask docker docker-compose

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