标签: docker-compose

docker-compose up和docker-compose start有什么区别?

每当我执行

docker-compose start 
docker-compose ps
Run Code Online (Sandbox Code Playgroud)

我看到我的容器状态为"UP".如果我做

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

我会看到更多的冗长,但它将具有相同的状态.两个命令之间有什么区别吗?

docker docker-compose

104
推荐指数
3
解决办法
5万
查看次数

如何将参数传递给Dockerfile?

我在a中使用RUN指令Dockerfile来安装rpm

RUN yum -y install samplerpm-2.3
Run Code Online (Sandbox Code Playgroud)

但是,我想传递值"2.3"作为参数.我的RUN指令应该类似于:

RUN yum -y install samplerpm-$arg
Run Code Online (Sandbox Code Playgroud)

哪里 $arg=2.3

docker dockerhub dockerfile docker-registry docker-compose

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

我应该使用docker-compose还是运行?

是否有理由使用run启动docker-compose.yml文件或者您应该使用up

我知道run可以启动一个特定的容器,但我指的是你在没有指定容器的情况下使用它的情况,以便启动所有的yml容器.

docker docker-compose

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

Docker已安装,但Docker Compose不是?为什么?

我通过运行以下命令在centos 7上安装了docker.

curl -sSL https://get.docker.com/ | sh
systemctl enable docker && systemctl start docker
docker run hello-world
Run Code Online (Sandbox Code Playgroud)

注意:helloworld运行正常,没有问题.

但是,当我试图运行docker-compose(docker-compose.yml存在且有效)时,它只给我Centos上的错误(Windows版本适用于docker-compose文件)

/usr/local/bin/docker-compose: line 1: {error:Not Found}: command not found
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-compose

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

Docker"错误:无法在默认值中找到可用的,不重叠的IPv4地址池以分配给网络"

我有一个apkmirror-scraper-compose具有以下结构的目录:

.
??? docker-compose.yml
??? privoxy
?   ??? config
?   ??? Dockerfile
??? scraper
?   ??? Dockerfile
?   ??? newnym.py
?   ??? requirements.txt
??? tor
    ??? Dockerfile
Run Code Online (Sandbox Code Playgroud)

我正在尝试运行以下内容docker-compose.yml:

version: '3'

services:
  privoxy:
    build: ./privoxy
    ports:
      - "8118:8118"
    links:
      - tor

  tor:
    build:
      context: ./tor
      args:
        password: ""
    ports:
      - "9050:9050"
      - "9051:9051"

  scraper:
    build: ./scraper
    links:
      - tor
      - privoxy
Run Code Online (Sandbox Code Playgroud)

其中,Dockerfile用于tor

FROM alpine:latest
EXPOSE 9050 9051
ARG password
RUN apk --update add …
Run Code Online (Sandbox Code Playgroud)

python docker docker-compose

101
推荐指数
21
解决办法
5万
查看次数

Docker Compose 构建失败 - 文件共享已被取消

我遇到了 Docker Desktop 的问题,目前我在 Stackoverflow 上以用户身份运行边缘版本。在我因未知原因未共享驱动器错误之前,该错误已通过安装边缘版本“解决”:Docker for Windows:驱动器共享因未知原因失败

现在安装了这个,我收到了这个新错误,它阻止了一些容器的构建。这些容器都已经过测试并且可以在其他几个系统上运行。目前 4 个容器中有 3 个没有构建,它们都产生如下相同的错误:

ERROR: for db  Cannot create container for service db: status code not OK but 500: {"Message":"Unhandled exception: Filesharing has been cancelled"}
Encountered errors while bringing up the project.
Run Code Online (Sandbox Code Playgroud)

完整错误:

Creating imt2291-part2_www_1 ...
Creating imt2291-part2_phpmyadmin_1 ... done
Creating imt2291-part2_db_1         ...
Creating imt2291-part2_test_1       ... error
Creating imt2291-part2_www_1        ... error
ERROR: for imt2291-part2_test_1  Cannot create container for service test: status code not OK but 500: {"Message":"Unhandled exception: Filesharing has …
Run Code Online (Sandbox Code Playgroud)

windows docker docker-compose docker-desktop

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

Docker-Compose退出,代码为0

当我启动docker-compose upUbuntu容器退出时ubuntu exited with code 0.

当我跑步时docker run -d -ti -p 80:80 -v ~/sph/laravel52:/www/laravel ubuntu,一切正常.

如何使用Docker Compose复制此行为?

这是我的Dockerfile:

# Version: 0.0.1
FROM ubuntu:15.04



ENV DEBIAN_FRONTEND noninteractive

#INSTALL ALL
RUN apt-get update && apt-get install -y  \
       nano \
       php5-fpm \
       php5-mysql \
       nginx



#NGINX CONF
ADD nginx/sites-available/laravel.conf /etc/nginx/sites-available/
RUN rm /etc/nginx/sites-available/default
RUN mv /etc/nginx/sites-available/laravel.conf /etc/nginx/sites-available/default

VOLUME /www


ENTRYPOINT nginx && service php5-fpm start && /bin/bash

CMD ["true"]


EXPOSE 80
Run Code Online (Sandbox Code Playgroud)

而且docker-compose.yml: …

docker docker-compose

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

为什么 docker-compose 突然失败并出现错误内部加载元数据?

我已经运行 docker-compose build 好几天了,每天很多次,并且没有更改我的 DOCKERFILEs 或 docker-compose.yml。突然一个小时前我开始得到这个:

Building frontdesk-api
failed to get console mode for stdout: The handle is invalid.
[+] Building 10.0s (3/4)
 => [internal] load build definition from Dockerfile                       0.0s
[+] Building 10.1s (4/4) FINISHED
 => [internal] load build definition from Dockerfile                       0.0s
 => => transferring dockerfile: 32B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
 => ERROR [internal] load metadata for mcr.microsoft.com/dotnet/sdk:5.0.  10.0sailed to do request: Head https://mcr.microsoft.com/v2/dotnet/sdk/manifests/5.0.201-buster-slim: dial tcp: lookup mcr.microsoft.com on …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

96
推荐指数
7
解决办法
25万
查看次数

docker-credential-desktop 未安装或在 PATH 中不可用

我的 Mac 上的 Docker 安装可能有点混乱。起初我安装了 Docker 桌面,但运行它后我了解到,由于我使用的是较旧的 Mac,所以我必须安装 VirtualBox,所以我按照以下步骤操作:

  1. /usr/local/bin允许用户在文件夹上写入

    sudo chown -R $(whoami) /usr/local/bin

  2. 安装 Docker-Machine

base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine &&
  chmod +x /usr/local/bin/docker-machine
Run Code Online (Sandbox Code Playgroud)
  1. 从开发帐户手动安装 Xcode CLI

  2. 安装自制啤酒

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Run Code Online (Sandbox Code Playgroud)
  1. 安装 Docker + wget (使用 Brew)

    brew install docker

    brew install wget

  2. 安装 bash 补全脚本

base=https://raw.githubusercontent.com/docker/machine/v0.16.0
for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash
do
    sudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d
done
Run Code Online (Sandbox Code Playgroud)
  1. 启用 docker-machine shell 提示符

    echo 'PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '' >> ~/.bashrc

  2. 安装 VirtualBox、ExtensionPack …

homebrew docker docker-compose docker-machine

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

如何在docker compose中将主机目录挂载为卷

我有一个开发环境,我是dockerizing,我希望能够重新生成我的更改,而无需重建docker镜像.我正在使用docker compose,因为redis是我应用程序的依赖项之一,我喜欢能够链接redis容器

我有两个容器定义docker-compose.yml:

node:
    build: ./node
    links:
        - redis
    ports:
        - "8080"
    env_file:
        - node-app.env

redis:
    image: redis
    ports:
        - "6379"
Run Code Online (Sandbox Code Playgroud)

我已经在我的node应用程序的dockerfile中添加了一个卷,但是如何在卷中安装主机的目录,以便我对代码的所有实时编辑都反映在容器中?

这是我当前的Dockerfile:

# Set the base image to Ubuntu
FROM    node:boron

# File Author / Maintainer
MAINTAINER Amin Shah Gilani <amin@gilani.me>

# Install nodemon
RUN npm install -g nodemon

# Add a /app volume
VOLUME ["/app"]

# TODO: link the current . to /app

# Define working directory
WORKDIR /app

# Run npm install
RUN …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose docker-volume

94
推荐指数
6
解决办法
12万
查看次数