标签: docker-compose

docker-compose 中的 Windows 10 绑定安装不起作用

我正在使用 docker-compose 来管理多容器应用程序。其中 1 个容器需要访问主机上目录的内容。

根据有关 docker 和 docker-compose 的各种文档来源,这似乎很简单,但我正在努力使其正常工作。

  event_processor:
    environment:
      - COMPOSE_CONVERT_WINDOWS_PATHS=1
    build: ./Docker/event_processor
    ports:
      - "15672:15672"
    entrypoint: python -u /src/event_processor/event_processor.py
    networks:
      - app_network
    volumes:
      - C/path/to/interesting/directory:/interesting_directory"
Run Code Online (Sandbox Code Playgroud)

运行此我收到错误消息:

错误:命名卷“C/path/to/interesting/directory:/interesting_directory:rw”用于服务“event_processor”,但未在卷部分找到声明。

我从文档中了解到只有在容器之间共享数据时才需要顶级声明

这不是这里的情况。

我上面链接的 docker-compose 文档有一个示例,它似乎完全符合我的需要:

version: "3.2"
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - type: volume
        source: mydata
        target: /data
        volume:
          nocopy: true
      - type: bind
        source: ./static
        target: /opt/app/static

networks:
  webnet:

volumes:
  mydata:
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试时,我收到有关语法的错误:

错误:撰写文件 '.\docker-compose.yaml' 无效,因为:services.audio_event_processor.volumes 包含无效类型,它应该是字符串

所以我试着一起玩:

volumes:
  - type: "bind"
    source: "C/path/to/interesting/directory"
    target: …
Run Code Online (Sandbox Code Playgroud)

windows docker docker-compose docker-volume

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

如何`geth init`并使用Docker-compose开始geth挖掘?

我想用 Docker 创建私有以太坊网络。我已经准备好了创世文件,所以我需要geth init genesis.json然后开始像geth --mine .... 我可以用脚本来做(比如这里:https : //github.com/vertigobr/ethereum/blob/master/runminer.sh#L5https://github.com/vertigobr/ethereum/blob/master/runnode。 sh#L23):

if [ ! -d $DATA_ROOT/keystore ]; then
    echo "$DATA_ROOT/keystore not found, running 'geth init'..."
    docker run --rm \
        -v $DATA_ROOT:/root/.ethereum \
        -v $(pwd)/genesis.json:/opt/genesis.json \
        $IMGNAME init /opt/genesis.json
    echo "...done!"
fi
echo "Running new container $CONTAINER_NAME..."
docker run $DETACH_FLAG --name $CONTAINER_NAME \
    --network ethereum \
    -v $DATA_ROOT:/root/.ethereum \
    -v $DATA_HASH:/root/.ethash \
    -v $(pwd)/genesis.json:/opt/genesis.json \
    $RPC_PORTMAP \
    $IMGNAME --bootnodes=$BOOTNODE_URL $RPC_ARG --cache=512 --verbosity=4 --maxpeers=3 …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose ethereum geth

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

groupadd:运行 docker-compose up 时出现无效的组 ID 'laradock' 错误

groupadd:无效的组 ID 'laradock' 服务 'workspace' 无法构建:命令 '/bin/sh -c apt-get update -yqq && pecl channel-update pecl.php.net && groupadd -g ${PGID} laradock && useradd -u ${PUID} -g laradock -m laradock -G docker_env && usermod -p "*" laradock' 返回非零代码:3

laravel docker docker-compose

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

docker-compose 错误 - 无法找到指定的 Dockerfile:Dockerfile

我正在尝试从 /mnt/win/docker/ 运行 docker-compose(我已经更改了默认的 docker 目录以获得更多空间。不记得我配置了哪个文件来执行此操作)

我收到以下错误:

错误:compose.cli.errors.log_api_error:找不到指定的Dockerfile:Dockerfile

请参阅下面的 docker-compose.yml

我正在关注 wurstmeister/kafka-docker 程序:ref1:git wurstmeister ref2:教程

[liran@localhost docker]$ docker-compose --verbose up
compose.config.config.find: Using configuration files: ./docker-compose.yml
docker.utils.config.find_config_file: Trying paths: ['/home/liran/.docker/config.json', '/home/liran/.dockercfg']
docker.utils.config.find_config_file: No config file found
docker.utils.config.find_config_file: Trying paths: ['/home/liran/.docker/config.json', '/home/liran/.dockercfg']
docker.utils.config.find_config_file: No config file found
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.22/version HTTP/1.1" 200 557
compose.cli.command.get_client: docker-compose version 1.22.0, build f46880fe
docker-py version: 3.4.1
CPython version: 3.6.6
OpenSSL version: OpenSSL 1.1.0f  25 May 2017
compose.cli.command.get_client: Docker base_url: http+docker://localhost
compose.cli.command.get_client: Docker …
Run Code Online (Sandbox Code Playgroud)

apache-kafka docker-compose docker-image docker-volume

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

在 /docker-entrypoint-initdb.d/db_init.sh 中运行 psql 命令时出错(psql:无法连接到服务器:连接被拒绝)

我曾经使用脚本 ( /docker-entrypoint-initdb.d/db_init.sh) 在复制到 postgres 容器的文件夹中循环数据库转储并恢复它们。它曾经很好地工作,但最近它停止工作。

我收到以下错误:

postgres_server_1  | /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/db_init.sh
postgres_server_1  | --> db_init.sh: Found /dumps/dataset_1.dump as dataset_1
postgres_server_1  | psql: could not connect to server: Connection refused
postgres_server_1  |    Is the server running on host "localhost" (127.0.0.1) and accepting
postgres_server_1  |    TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)

db_init.sh脚本循环遍历包含数据库转储的文件夹并检查数据库是否已存在。如果不是,它会恢复转储。

/docker-entrypoint-initdb.d/db_init.sh 内容:

shopt -s nullglob
for i in /dumps/*.dump;
do
    db_name=${i##*/}
    db_name=${db_name%.dump}
    echo "--> db_init.sh: Found $i as $db_name"

    if psql -U postgres -h localhost -lqt | …
Run Code Online (Sandbox Code Playgroud)

postgresql docker docker-compose

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

如何使用 docker-compose 将 Docker 目录挂载到主机目录中

想象一下,我有一个包含一些静态数据的 Docker 容器。

现在出于开发目的,我希望将容器目录的内容/resources安装到我的本地工作目录.

docker-compose.yml:

version: '3.2'

services:
  resources:
    image: <private_registry>/resources:latest
    volumes:
    - ./resources:/resources
Run Code Online (Sandbox Code Playgroud)

运行时docker-compose up文件夹resources是在我的工作目录中创建的,但它没有内容,而容器中有内容/resources/

使用命名卷并检查它时,它按预期工作。

docker docker-compose

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

Spring Cloud Gateway 不路由(任何请求都为 404)

我一直在尝试使用 Spring Cloud Gateway、Eureka、配置服务和一些微服务创建一个 docker-compose 堆栈。这些服务在它们自己的、暴露的端口上启动和工作,配置服务工作并且 Eureka 注册这些服务。但是我无法让 Spring Cloud Gateway 工作。

服务正确启动(或者至少日志中没有错误),当我远程进入容器时,我能够请求我想要调用的服务,但是如果我尝试通过配置的路由请求它收到 404。

我的网关配置(为了方便,我结合了配置服务配置和 bootstrap.yml):

spring:
  application:
    name: gateway-service
  cloud:
    config:
      uri: http://config-service:8080 
eureka:
  client:
    serviceUrl:
      defaultZone: http://discovery-service:8061/eureka/
logging:
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss} ${LOG_LEVEL_PATTERN:-%5p} %m%n"
spring:
  cloud:
    gateway:
      routes:
      - id: employee-service
        predicates:
        - "Path=/employee/**"
        filters:
        - StripPrefix=1
        uri: "http://employee-service:8080"
Run Code Online (Sandbox Code Playgroud)

我很确定我只是误解了一些微不足道的事情,而且我离成功只有一步之遥,但是......我就是找不到它。

我期望发生的事情:

我的容器:

0.0.0.0:8080->8080/tcp, 8088/tcp                           employee-app_gateway-service_1
8088/tcp, 0.0.0.0:5082->5005/tcp, 0.0.0.0:8082->8080/tcp   employee-app_employee-service_1
8088/tcp, 0.0.0.0:8011->8061/tcp                           employee-app_discovery-service_1
8088/tcp, 0.0.0.0:8012->8080/tcp                           employee-app_config-service_1
Run Code Online (Sandbox Code Playgroud)

spring gateway spring-cloud docker-compose

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

KeyCloak:在 Docker 中部署自定义主题

我知道如何使用此处所述的两种方式在 Windows 中部署自定义 KeyCloak 主题:

1)在主题目录中复制粘贴主题

2) 使用归档部署

有人可以建议如何在docker 中做到这一点吗?

deployment docker keycloak docker-compose

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

如何使用 docker-compose 运行 Angular?

我正在尝试从头开始创建我自己的MEAN解决方案,我想使用docker-compose来运行它。我已经成功地使 Node 服务器正常工作,但是当我尝试使用 docker运行Angular客户端时,这不起作用。

仅使用 docker 我运行以下命令:

docker build -t ng-client .

docker run -p 4200:4200 ng-client

从输出来看,它似乎正在工作,但是当我转到http://localhost:4200/ 时,我收到了 localhost 不工作的消息。

当我使用以下命令使用 docker-compose 时,我遇到了同样的问题:

docker-compose up

我的 Dockerfile 看起来像这样:

# based on https://mherman.org/blog/dockerizing-an-angular-app/
# base image
FROM node:8.9.3

# install chrome for protractor tests
# RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
# RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
# RUN apt-get update && …
Run Code Online (Sandbox Code Playgroud)

docker mean-stack docker-compose angular

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

普罗米修斯 - 目标连接被拒绝

我正在尝试使用 Prometheus 容器从 cAdvisor 抓取指标。

这是我的 prometheus.yml:

global:
  scrape_interval: 10s
  evaluation_interval: 10s

scrape_configs:
 - job_name: "prometheus"
   static_configs:
     - targets: ["localhost:9090"]

 - job_name: "docker"
   static_configs:
     - targets: ['localhost:9323']

 - job_name: "cadvisor"
   scrape_interval: 5s
   static_configs:
     - targets: ['localhost:7070']
       labels:
         alias: "cadvisor"
Run Code Online (Sandbox Code Playgroud)

还有我的 docker-compose.yml:

version: "3.5"

services:
  app:
    container_name: app
    build: "./app"
    restart: always
    volumes:
      - ./app:/app
    depends_on:
      - db
    links:
      - db
    ports:
      - 8080:8080
  db:
    container_name: db
    image: postgres
    restart: always
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=articlesdb
      - POSTGRES_USER=dbuser 
      - POSTGRES_PASSWORD=dbpassword …
Run Code Online (Sandbox Code Playgroud)

monitoring docker docker-compose prometheus cadvisor

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