标签: docker-compose

econnrefused 127.0.0.1:5672 Rabbit-mq 与 docker compose

我无法将 node.js 应用程序与 rabbit-mq 服务器连接。Postgres 已正确连接。我不知道为什么我的连接被拒绝。

version: "3"
networks:
app-tier:
  driver: bridge

services:
db:
  image: postgres
  environment:
    - POSTGRES_USER=dockerDBuser
    - POSTGRES_PASSWORD=dockerDBpass
    - POSTGRES_DB=performance
  ports:
    - "5433:5432"
  volumes:
    - ./pgdata:/var/lib/postgresql/data
  networks:
    - app-tier

rabbitmq:
  image: rabbitmq:3.6.14-management
  healthcheck:
      test: ["CMD", "curl", "-f", "http://127.0.0.1:5672"]
      interval: 30s
      timeout: 10s
      retries: 5
  ports:
    - "0.0.0.0:5672:5672"
    - "0.0.0.0:15672:15672"
  networks:
    - app-tier
app:
  build: .
  depends_on:
    - rabbitmq
    - db
  links:
    - rabbitmq
    - db
  command: npm run startOrc
  environment:
    DATABASE_URL: postgres://dockerDBuser:dockerDBpass@db:5432/asdf
  restart: on-failure
  networks:
    - app-tier …
Run Code Online (Sandbox Code Playgroud)

rabbitmq docker docker-compose

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

通过其他docker容器访问ftp服务

我有一个 Golang 应用程序,它应该连接到 FTP 服务器。

现在,Golang app 和 FTP Server 都已dockerized,但我不知道如何从 Golang app 连接到 FTP 服务器

这是我的 docker-compose.yml

version: '2'

services:
  myappgo:
    image: myappgo:exp
    volumes:
      - ./volume:/go
    networks:
      myappgo_network:
    env_file:
      - test.env

  ftpd-server:
    container_name: ftpd-server
    image: stilliard/pure-ftpd:hardened
    ports:
      - "21:21"
      - "30000-30009:30000-30000"
    environment:
      PUBLICHOST: "localhost"
      FTP_USER_NAME: "test"
      FTP_USER_PASS: "test"
      FTP_USER_HOME: "/home/test"
    restart: on-failure
    networks:
      myappgo_network:

networks:
  myappgo_network:
Run Code Online (Sandbox Code Playgroud)

当我运行 docker compose 时,所有服务都已启动。

我可以通过以下方式获取 ftp 容器的 IP:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ftpd-server
Run Code Online (Sandbox Code Playgroud)

然后,我在我的 golang 容器 lftp 中为 alpine 安装了一个 ftp 客户端: …

ftp docker docker-compose docker-networking

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

无法连接到 mongodb 容器主机

我试图连接到 mongodb 容器,但它不起作用,无法识别主机。

这是我的 docker-compose.yml 文件和服务:

  version: '3'
  services:

  mongodb:
    build:
      context: .
      dockerfile: docker/mongodb/Dockerfile
    restart: always
    environment:
      DATABASE: database
      USERNAME: user
      PASSWORD: pass
    ports:
      - '5100:27017'
    volumes:
      - ./data/db:/data/db
Run Code Online (Sandbox Code Playgroud)

这是我的 mongodb dockerfile:

FROM mvertes/alpine-mongo:4.0.5-0

ENV MONGO_INITDB_DATABASE: ${DATABASE}
ENV MONGO_INITDB_ROOT_USERNAME: ${USERNAME}
ENV MONGO_INITDB_ROOT_PASSWORD: ${PASSWORD}

COPY ./docker/mongodb/init.js /docker-entrypoint-initdb.d

CMD ["mongod"]

EXPOSE 27017
Run Code Online (Sandbox Code Playgroud)

我正在尝试从 spring 建立连接,但找不到该服务,我的属性中有:

spring.data.mongodb.host=mongodb
spring.data.mongodb.port=5100
spring.data.mongodb.username=user
spring.data.mongodb.password=pass
spring.data.mongodb.database=database
Run Code Online (Sandbox Code Playgroud)

我也在尝试与 robo3T 建立连接,问题是一样的:

Address: mongodb://mongodb
port:5100
Run Code Online (Sandbox Code Playgroud)

春天的错误说:

com.mongodb.MongoSocketException: mongodb: unknown name or service
Run Code Online (Sandbox Code Playgroud)

在 robo3T 中说:

Cannot connect to the MongoDB …
Run Code Online (Sandbox Code Playgroud)

spring mongodb docker docker-compose

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

使用备份 dump.rdb 启动 redis 容器

我正在尝试使用 docker-compose 部署一个简单的节点 - redis 架构。

我有一个带有 redis 数据备份的dump.rdb,我想启动一个加载了该数据的容器。

我的 docker-compose.yml 看起来像这样:

version: '3'
  services:
      redis:
        image: redis:alpine
        container_name: "redis"
        ports:
            - "6379:6379"
  server:
    build: ./src
    image: hubName:imageName
    container_name: containerName
    links: 
      - redis
    depends_on:
      - "redis"
    ports:
      - "8443:8443"
    restart: always
Run Code Online (Sandbox Code Playgroud)

我应该包括卷吗?如果我想要持久化 redis 数据怎么办?

谢谢 :)

redis docker dockerfile docker-compose

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

容器内文件系统的更改未反映在 docker 卷中的主机上

我正在使用 TypeScript 编写的 Express 服务器。项目的流程是我有一个 npm 构建脚本,它在 src 文件夹中获取项目文件并将它们编译到 dist 文件夹。这两个文件夹都位于根目录下。该项目有效,但是在尝试将所有内容移动到 docker 时,虽然我正在安装卷并且构建的文件(dist 目录)在容器中,但更改并未反映在主机上。(我正在为 Docker 使用 Windows + VirtualBox)

我已经提到了这个这个问题。我看到他们的场景是一样的,但他们的解决方案似乎对我不起作用。我确保我使用了这些答案中提到的类似技术,它们似乎不起作用。

项目目录结构:

??? Backend
?   ??? src/
?   ?   ??? controllers/
?   ?   ??? models/
?   ?   ??? routes/
?   ?   ??? services/
?   ?   ??? index.ts
?   ?   ??? server.ts
?   ??? dist/ (Created upon compilation)
?   ?   ??? controllers/
?   ?   ??? data/ (Created upon starting the server)
?   ?   ??? models/
?   ?   ??? …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

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

在 docker 容器中运行 RabbitMQ

我对 RabbitMQ 还很陌生,我正在开发一个 POC 来运行在 docker 容器中使用 RabbitMQ 的 C# 解决方案。

我设法编写了 docker-compose.yml、dockerfile 并运行了 RabbitMQ。但是,我的解决方案无法访问 RabbitMQ 主机。我想我可能缺少一些配置,但我不知道是什么。

docker-compose.yml

version: '3.4'

services:
  rabbit-sender:
    image: rabbit-sender
    container_name: rabbit-sender
    build: 
        context: ../SenderRabitMQ
        dockerfile: debug.Dockerfile
    env_file: common.env
    networks:
      - rabbitPoc
    expose:
      - "80"

  rabbit-receiver:
    image: rabbit-receiver
    container_name: rabbit-receiver
    build: 
      context: ../ReceiveRabitMQ
      dockerfile: debug.Dockerfile
    env_file: common.env
    networks:
      - rabbitPoc
    expose:
      - "80"

  rabbitmq:
    image: rabbitmq:3.7.15
    hostname: rabbitmq
    build: 
      context: rabbit
      dockerfile: debug.Dockerfile
    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
      - "./enabled_plugins:/etc/rabbitmq/enabled_plugins"
Run Code Online (Sandbox Code Playgroud)

调试.Dockerfile

Install RabbitMQ
FROM ubuntu:14.04.1 …
Run Code Online (Sandbox Code Playgroud)

c# rabbitmq docker dockerfile docker-compose

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

Symfony 4 和 Mercure with Docker - 无法连接到服务器

我正在尝试使用 Docker 映像在 Symfony 上运行 Mercure。

symfony/mercure 版本:“v0.2.0”,

docker-compose.yaml 配置:

  mercure:
    container_name: mercure
    image: dunglas/mercure
    environment:
    - JWT_KEY=MySecret
    - DEMO=1
    - ALLOW_ANONYMOUS=1
    - PUBLISH_ALLOWED_ORIGINS=http://my_project.com:9090/hub
    - DEBUG=1
    - CORS_ALLOWED_ORIGINS=*
    ports:
    - "9090:80"
Run Code Online (Sandbox Code Playgroud)

当我去http://my_project.com:9090/可以看到可行的 Mercure 调试工具页面。Mercure 已正确安装并与 docker 容器一起运行。

Symfony .env 文件:

MERCURE_PUBLISH_URL=http://my_project.com/hub
MERCURE_JWT_SECRET=valid_generated_JWT_token
Run Code Online (Sandbox Code Playgroud)

MERCURE_JWT_SECRET 是使用来自 Docker 配置 (MySecret) 的 JWT_KEY 生成的有效 JWT 令牌和有效负载:

{
    "mercure": {
        "publish": []
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试这样一个简单的例子时:

public function getCountUnreadMessagesAction(Publisher $publisher)
{
     // some API logic

    $update = new Update(
        'http://my_project.com/api/v1/messages/count-unread',
        json_encode(['count' => $count])
    ); …
Run Code Online (Sandbox Code Playgroud)

symfony docker docker-compose symfony4 mercure

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

恐慌:拨打 tcp 127.0.0.1:3306:连接:连接被拒绝

我正在尝试使用 golang gin gorm 从 docker 连接 mysql 服务器。

构建本身已经成功,但是如标题所示,出现了以下错误。

panic: dial tcp 127.0.0.1:3306: connect: connection refused
Run Code Online (Sandbox Code Playgroud)

尝试以这种方式连接

func dbConnect() *gorm.DB {
    db, err := gorm.Open("mysql", "docker:password@/godocker")

    if err != nil {
        panic(err.Error())
    }

    return db
}

Run Code Online (Sandbox Code Playgroud)
  • docker-compose.yml
db:
    image: mysql:5.7.26
    environment:
      MYSQL_USER: docker
      MYSQL_ROOT_PASSWORD: password
      MYSQL_PASSWORD: password
      MYSQL_DATABASE: godocker
    ports:
      - "3306:3306"
Run Code Online (Sandbox Code Playgroud)

命中docker-compose ps命令的结果

      Name                   Command             State                 Ports
------------------------------------------------------------------------------------------
gin-docker_api_1   /bin/sh -c gin -i run         Up      0.0.0.0:3001->3001/tcp
gin-docker_db_1    docker-entrypoint.sh mysqld   Up      0.0.0.0:3306->3306/tcp, 33060/tcp
Run Code Online (Sandbox Code Playgroud)

谢谢

mysql tcp docker go-gorm docker-compose

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

带有 Letsencrypt 的 Traefik V2.0 无法为域生成证书

我正在使用 Whoami 进行测试并在生成证书时遇到问题。

acme.json 文件中没有生成任何证书,并且站点使用的是 Traefik 的默认证书,导航器认为该证书无效。

这是错误:

traefik         | time="2019-10-14T21:16:15Z" level=error msg="Unable to obtain ACME certificate for domains \"inner-whoami.mysite.com\": unable to generate a certificate for the domains [inner-whoami.mysite.com]: acme: Error -> One or more domains had a problem:\n[inner-whoami.mysite.com] acme: error: 403 :: urn:ietf:params:acme:error:unauthorized :: Invalid response from https://inner-whoami.mysite.com/.well-known/acme-challenge/xxxxxxxxxxxxxxxxxxxx [51.75.207.100]: \"Hostname: xxxxxxxxxx\\nIP: 127.0.0.1\\nIP: 172.18.0.2\\nRemoteAddr: 172.18.0.3:55692\\nGET /.well-known/acme-challenge/xxxxxxxxxx\", url: \n" rule="Host(`inner-whoami.mysite.com`)" routerName=inner-whoami-secured providerName=myhttpchallenge.acme
traefik         | time="2019-10-14T21:16:17Z" level=debug msg="legolog: [INFO] Unable to deactivate the authorization: https://acme-v02.api.letsencrypt.org/acme/authz-v3/xxxxxxxxxx"
Run Code Online (Sandbox Code Playgroud)

这是 docker-compose.yml 文件。一切都在里面。如您所见,这是一个准备进一步部署的测试。不是实际的生产文件。我需要在能够使用 Traefik 服务器范围之前解决这个问题......

version: "3.3" …
Run Code Online (Sandbox Code Playgroud)

https docker docker-compose lets-encrypt traefik

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

用于本地 Spring Boot 开发的 Docker-Compose

我有以下 docker-compose 文件设置以及关联的 Dockerfile。

docker-compose.yml

version: '3'
services:
   vault:   
   springboot-app:
    build:
      dockerfile: ./Dockerfile
    restart: always
    ports:
      - "8080:8080"
    environment:
       - "SPRING_PROFILES_ACTIVE=local"
Run Code Online (Sandbox Code Playgroud)

文件

FROM maven:3.5.2-jdk-8-alpine AS MAVEN_BUILD

COPY pom.xml /build/
COPY src /build/src/

WORKDIR /build/

RUN mvn -B -U -e clean verify 

FROM openjdk:8-jre-alpine

WORKDIR /

COPY --from=MAVEN_BUILD /build/target/MyApp-0.0.1-SNAPSHOT.jar /

ENTRYPOINT ["java", "-jar", "MyApp-0.0.1-SNAPSHOT.jar"]
Run Code Online (Sandbox Code Playgroud)

当我运行 docker-compose up 时,我的应用程序现在运行良好。我想知道我需要做哪些更改才能在代码更改时重建 Spring Boot 应用程序?在我的 pom 文件中,我有 spring-boot-maven-plugin 设置如下,我已经指定了 spring-boot-devtools 依赖项

       <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <excludeDevtools>false</excludeDevtools>
            </configuration>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助

谢谢达米安

java spring docker spring-boot docker-compose

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