标签: docker-compose

服务“nginx-proxy”使用未定义的网络“nginx-proxy”

我正在尝试使用Nginx-Proxy在 Ubuntu VPS 上的 docker 容器内运行 WordPress 网站。

我创建了以下docker-compose.yml文件


version: '3.4'
services:

  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    ports:
      - 80:80
      - 443:443
    restart: always
    networks:
      - nginx-proxy
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - /etc/nginx/vhost.d:/etc/nginx/vhost.d:ro
      - /etc/certificates:/etc/nginx/certs

  wordpress:
    image: wordpress
    container_name: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      - VIRTUAL_HOST=wordpress.domain.com
      - VIRTUAL_PORT=5500
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=db_username
      - WORDPRESS_DB_PASSWORD=db_password
      - WORDPRESS_DB_NAME=db_name
    depends_on:
      - nginx-proxy
      - db
    networks:
      - nginx-proxy
    volumes:
      - wordpress:/var/www/html
    ports:
      - 5500:5500
    expose:
      - 5500
  db:
    image: mysql:latest …
Run Code Online (Sandbox Code Playgroud)

nginx docker docker-compose docker-container jwilder-nginx-proxy

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

Docker 入口点 initdb 权限被拒绝

当我运行 docker-compose up 时,出现以下错误:

在此输入图像描述

非常感谢你的帮助

sql postgresql relational-database docker docker-compose

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

docker-compose.yml 和 Dockerfile 如何协同工作?

据我了解,
Dockerfile就像是创建镜像的config/recipe,而docker-compose用于轻松创建多个可能有关系的容器,避免通过docker命令重复创建容器。

有两个文件。

Dockerfile

FROM node:lts-alpine

WORKDIR /server

COPY package*.json ./

RUN npm install

COPY . . 

EXPOSE 3030

CMD ["npm", "run", "dev"]
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: '2.1'

services:
  test-db:
    image: mysql:5.7
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=true
      - MYSQL_USER=admin
      - MYSQL_PASSWORD=12345
      - MYSQL_DATABASE=test-db
    volumes:
      - ./db-data:/var/lib/mysql
    ports:
      - 3306:3306
  test-web:
    environment:
      - NODE_ENV=local
      #- DEBUG=*
      - PORT=3030
    image: node:lts-alpine
    build: ./
    command: >
        npm run dev
    volumes:
      - ./:/server
    ports:
      - "3030:3030"
    depends_on:
      - test-db
Run Code Online (Sandbox Code Playgroud)

问题 1
当我运行 docker-compose up --build 时

A。镜像将基于 Dockerfile …

docker docker-compose

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

docker 与远程上下文组合给出 ssh 错误连接被拒绝

当我尝试使用 docker 上下文从远程服务器上的本地计算机运行此命令时,我遇到了 docker-compose 问题:

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

我明白了:

ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)

我仅使用此命令收到此错误,其他一切正常(如 ps 或 log 命令)。另外,常规 ssh 连接工作正常,所以我不认为我的 ssh 配置有问题。

据我所知,以详细方式运行命令不会提供任何有用的信息。

ssh docker docker-compose

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

在高山码头工人中找不到 dotnet

我有以下 dockerfile:

FROM jenkins/jenkins:lts-alpine

USER root

RUN apk update
RUN apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib wget
RUN apk add libgdiplus --repository https://dl-3.alpinelinux.org/alpine/edge/testing/

USER jenkins

RUN wget https://dot.net/v1/dotnet-install.sh -O $HOME/dotnet-install.sh
RUN chmod +x $HOME/dotnet-install.sh
RUN $HOME/dotnet-install.sh -c 5.0

RUN dotnet --info

EXPOSE 2376 23676
Run Code Online (Sandbox Code Playgroud)

但是当我运行 docker-compose 时,它​​给了我:

Building jenkins
failed to get console mode for stdout: Invalid identifier.
[+] Building 64.6s (10/11)
[+] Building 64.7s (11/11) FINISHED
 => [internal] load build definition from jenkins.dockerfile               0.0s
 => …
Run Code Online (Sandbox Code Playgroud)

jenkins docker .net-core dockerfile docker-compose

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

如何避免将目录名称自动添加到 docker-compose yml 中指定的多个 docker 卷中?

我在 docker-compose.yml 中定义了两项服务,每一项都使用自己的命名卷。

这些卷不是预先创建的。我希望 docker 在容器首次启动后创建卷,并在以后的启动中重复使用相同的卷。

docker-compose.yml

    version: '2'
    services:
        db:
           container_name: db
           environment:
               POSTGRES_DB=new_db_name
           volumes:
               - pgdata:/var/lib/postgresql/data
        app:
           container_name: app
           depends_on:
               - db
           volumes:
               - appdata:/app/data
    volumes:
        pgdata
        appdata
Run Code Online (Sandbox Code Playgroud)

但是,执行 docker-compose up 命令后,docker 会将当前目录名称添加到卷中。

我希望 docker 将 docker-compose yml 中指定的确切名称分配给卷。

我在这里找到了一个解决方案:https ://stackoverflow.com/a/59066462/12496407

但是,我无法应用上述解决方案,因为我的 docker-compose.yml 中有多个卷,并且提到的解决方案仅考虑一个卷。

docker docker-compose docker-volume

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

如何在 Docker Swarm 中正确配置 HAProxy 以自动将流量路由到复制服务(通过 SSL)?

我正在尝试部署具有单个复制服务的三个主机节点的 Docker Swarm,并在其前面放置一个 HAProxy。我希望客户端能够通过 SSL 进行连接。

我的docker-compose.yml

version: '3.9'

services:
  proxy:
    image: haproxy
    ports:
      - 443:8080
    volumes:
      - haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
    deploy:
      placement:
        constraints: [node.role == manager]
    networks:
      - servers-network
  node-server:
    image: glusk/hackathon-2021:latest
    ports:
      - 8080:8080
    command: npm run server
    deploy:
      mode: replicated
      replicas: 2
    networks:
      - servers-network
networks:
  servers-network:
    driver: overlay
Run Code Online (Sandbox Code Playgroud)

我的haproxy.cfg(基于官方示例):

# Simple configuration for an HTTP proxy listening on port 80 on all
# interfaces and forwarding requests to a single backend "servers" …
Run Code Online (Sandbox Code Playgroud)

haproxy docker docker-compose docker-swarm

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

Docker-使用elasticsearch组合持久卷问题

我在 docker-compose 中安装 Elasticsearch 卷时遇到问题。安装用于另一个磁盘,安装在:/mt/sda/我正在使用以下 docker-compose.yml:

version: "3.0"
services:
  elasticsearch:
    container_name: elastic-container-rescue
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.0
    volumes:
      - es-data:/mt/sda/es-data
    environment:
      - xpack.security.enabled=true
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
      - "network.host:0.0.0.0"
      - ELASTIC_PASSWORD=$ES_PASS
      
    ports:
      - 9300:9200
    networks:
      - elastic
networks:
  elastic:
    driver: bridge
volumes:
  es-data:
    driver: local

Run Code Online (Sandbox Code Playgroud)

当我用 检查它时docker volume inspect,它仍然显示不正确的安装点- 它应该是:/mt/sda/es-data

    {
        "CreatedAt": "2021-11-09T13:51:05+01:00",
        "Driver": "local",
        "Labels": {
            "com.docker.compose.project": "rescue-es",
            "com.docker.compose.version": "1.25.5",
            "com.docker.compose.volume": "es-data"
        },
        "Mountpoint": "/var/lib/docker/volumes/rescue-es_es-data/_data",
        "Name": "rescue-es_es-data",
        "Options": null,
        "Scope": "local"
    }

Run Code Online (Sandbox Code Playgroud)

关于如何分配正确的安装点有什么建议吗?

elasticsearch docker-compose docker-volume persistent-volumes

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

警告:Sentinel 无法将新配置保存在磁盘上!!!:设备或资源繁忙

我正在尝试在 docker 上设置一主一从和一哨兵,为此我编写了这个 docker compose 文件。

version: '3'
services:
  redis-master:
    container_name: "redis-master"
    image: redis
    ports:
      - "6379:6379"
    command: "redis-server /etc/redis.conf"
    volumes:
      - "./data/master:/data/"
      - "./master.conf:/etc/redis.conf"

  redis-slave:
    container_name: "redis-slave"
    image: redis
    ports:
      - "6380:6379"
    command: "redis-server /etc/redis.conf"
    volumes:
      - "./data/slave:/data/"
      - "./slave.conf:/etc/redis.conf"
    depends_on:
      - redis-master

  redis-sentinel:
    container_name: 'redis-sentinel'
    image: redis
    ports:
      - "26379:26379"
    command: >
      bash -c "chmod 777 /etc/sentinel.conf
      && redis-server /etc/sentinel.conf --sentinel"
    volumes:
      - "./sentinel.conf:/etc/sentinel.conf"
    depends_on:
      - redis-master
      - redis-slave
Run Code Online (Sandbox Code Playgroud)

sudo docker-compose up --build --force但是,当我尝试使用除 redis-sentinel 之外的所有服务构建它时,所有服务都运行良好。我在日志中收到此错误

redis-sentinel …
Run Code Online (Sandbox Code Playgroud)

redis redis-sentinel docker docker-compose docker-machine

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

卷是匿名创建的,而不是在每次撰写上/下时命名和重新创建

我有一些 docker 容器,可以使用 docker-compose up / down 启动和停止。在 docker-compose.yml 中,我为每个容器定义了一个卷。据我了解,这些应该显示为 var/lib/docker/volumes 下的命名卷,但我所看到的只是一堆神秘的目录,每次重新启动容器时它们的数量也会增加。

每次我重新启动容器时,当我认为我正在使用卷来避免出现这样的情况时,数据库再次为空。我想保留数据。

我做错了什么吗?

version: "3"
services:
  nftapi:
    env_file:
      - .env
    build:
      context: .
    ports:
      - '5000:5000'
    depends_on: 
      - postgres
      
    networks:
      - postgres
      
  postgres:
    container_name: postgres
    image: postgres:latest
    ports:
    - "5432:5432"
    volumes:
    - /data/postgres:/data/postgres
    env_file:
    - docker.env
    networks:
    - postgres
 
  pgadmin:
    links:
    - postgres:postgres
    container_name: pgadmin
    image: dpage/pgadmin4
    ports:
    - "8080:80"
    volumes:
    - /data/pgadmin:/root/.pgadmin
    env_file:
    - docker.env
    networks:
    - postgres
 
networks:
  postgres:
    driver: bridge
Run Code Online (Sandbox Code Playgroud)

卷目录屏幕

在此输入图像描述

docker docker-compose

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