Docker Compose 错误,但 portainer 和其他工作正常

问题描述

我真的很困惑, 我的服务器大约在 2 周前设置好,仍在学习和工作以完成它。 不小心关闭了 UPS,服务器出现电源故障。

重启后,一些容器正在运行,而另一些则没有。主要是 Plex 没有运行。 Portainer不会列出它。所以我尝试重新编写,启动 dockerd 等等,但没有真正的运气。

我在跑步 Ubuntu 20.04 LTS 码头工人 20.10.02 docker-compose 版本 1.27.4,内部版本 40524192 docker-py 版本:4.3.1 cpython 版本:3.7.7 OpenSSL 版本:OpenSSL 1.1.0l 2019 年 9 月 10 日 搬运工 1.24.1

我可以连接到 Portainer 和 Organizr,这是我的前两个服务,但 homeassistant plex 不起作用。 在 portainer 中,我有 1 个堆栈和 5 个正在运行的容器,但主要被列为“关闭”,当我单击它时,我收到一条消息:“失败无法连接到 Docker 端点”

仅运行命令“docker version”很慢,并且会返回“无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。docker 守护进程是否正在运行?”

Docker 和 Dockerd 服务似乎正在运行。我试图停止并重新启动,重新启动。

当我再次尝试运行 compose 时,我得到:

jn@turcotteserver:~$ docker-compose -f ~/docker/docker-compose.yml up
Traceback (most recent call last):
  File "urllib3/connectionpool.py",line 677,in urlopen
  File "urllib3/connectionpool.py",line 426,in _make_request
  File "<string>",line 3,in raise_from
  File "urllib3/connectionpool.py",line 421,in _make_request
  File "http/client.py",line 1344,in getresponse
  File "http/client.py",line 306,in begin
  File "http/client.py",line 267,in _read_status
  File "socket.py",line 589,in readinto
ConnectionResetError: [Errno 104] Connection reset by peer

During handling of the above exception,another exception occurred:

Traceback (most recent call last):
  File "requests/adapters.py",line 449,in send
  File "urllib3/connectionpool.py",line 727,in urlopen
  File "urllib3/util/retry.py",line 403,in increment
  File "urllib3/packages/six.py",line 734,in reraise
  File "urllib3/connectionpool.py",in readinto
urllib3.exceptions.ProtocolError: ('Connection aborted.',ConnectionResetError(104,'Connection reset by peer'))

During handling of the above exception,another exception occurred:

Traceback (most recent call last):
  File "docker/api/client.py",line 205,in _retrieve_server_version
  File "docker/api/daemon.py",line 181,in version
  File "docker/utils/decorators.py",line 46,in inner
  File "docker/api/client.py",line 228,in _get
  File "requests/sessions.py",line 543,in get
  File "requests/sessions.py",line 530,in request
  File "requests/sessions.py",line 643,in send
  File "requests/adapters.py",line 498,in send
requests.exceptions.ConnectionError: ('Connection aborted.',another exception occurred:

Traceback (most recent call last):
  File "bin/docker-compose",in <module>
  File "compose/cli/main.py",line 67,in main
  File "compose/cli/main.py",line 123,in perform_command
  File "compose/cli/command.py",line 69,in project_from_options
  File "compose/cli/command.py",line 132,in get_project
  File "compose/cli/docker_client.py",line 43,in get_client
  File "compose/cli/docker_client.py",line 170,in docker_client
  File "docker/api/client.py",line 188,in __init__
  File "docker/api/client.py",line 213,in _retrieve_server_version
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.','Connection reset by peer'))
[764006] Failed to execute script docker-compose

这就是我在 docker compose 中所拥有的

version: "3.6"
services:
  portainer:
    image: portainer/portainer
    container_name: portainer
    restart: always
    command: -H unix:///var/run/docker.sock
    ports:
      - "9100:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ${USERDIR}/docker/portainer/data:/data
      - ${USERDIR}/docker/shared:/shared
    environment:
      - TZ=${TZ}

  organizr:
    container_name: organizr
    hostname: organizr
    restart: always
    image: organizr/organizr
    volumes:
      - ${USERDIR}/docker/organizr:/config
      - ${USERDIR}/docker/shared:/shared
    ports:
      - "80:80"
    environment:
      - fpm=true #true or false | using true will provide better performance
      - branch=v2-master #v2-master or #v2-develop
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
#  mariadb:
#    image: "linuxserver/mariadb"
#    container_name: "mariadb"
#    hostname: mariadb
#    volumes:
#        - ${USERDIR}/docker/mariadb:/config
#    ports:
#      - target: 3306
#        published: 3306
#        protocol: tcp
#        mode: host
#    restart: always
#    environment:
#      - MysqL_ROOT_PASSWORD=${MysqL_ROOT_PASSWORD}
#      - PUID=${PUID}
#      - PGID=${PGID}
#      - TZ=${TZ}


#  PHPmyadmin:
#    hostname: PHPmyadmin
#    container_name: PHPmyadmin
#    image: PHPmyadmin/PHPmyadmin
#    restart: always
#    links:
#      - mariadb:db
#    ports:
#      - 8080:80
#    environment:
#      - PMA_HOST=mariadb
#      - MysqL_ROOT_PASSWORD=${MysqL_ROOT_PASSWORD}

#  watchtower:
#    container_name: watchtower
#    restart: always
#    image: v2tec/watchtower
#    volumes:
#      - /var/run/docker.sock:/var/run/docker.sock
#    command: --schedule "0 0 4 * * *" --cleanup

  homeassistant:
    container_name: homeassistant
    restart: always
    image: homeassistant/home-assistant
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0
      - /dev/ttyUSB1:/dev/ttyUSB1
      - /dev/ttyACM0:/dev/ttyACM0
    volumes:
      - ${USERDIR}/docker/homeassistant:/config
      - /etc/localtime:/etc/localtime:ro
      - ${USERDIR}/docker/shared:/shared
    ports:
      - "9091:8123"
    privileged: true
    environment:
      - PUID=${PUID}
      - TZ=${TZ}

  plexms:
    container_name: plexms
    restart: always
    network_mode: host
    image: plexinc/pms-docker
    volumes:
      - ${USERDIR}/docker/plexms:/config
      - /media/SSD860/Downloads/plex_tmp:/transcode
      - /media/hdd1/Media:/media/media1
      - /media/hdd2/Media:/media/media2
      - ${USERDIR}/docker/shared:/shared
    ports:
      - "32400:32400/tcp"
      - "3005:3005/tcp"
      - "8324:8324/tcp"
      - "32469:32469/tcp"
      - "1900:1900/udp"
      - "32410:32410/udp"
      - "32412:32412/udp"
      - "32413:32413/udp"
      - "32414:32414/udp"
    environment:
      - TZ=${TZ}
      - HOSTNAME="Turcotte Plex Server"
      - PLEX_CLaim="claim-b_6kMsxaERgzacA9w-6R"
      - PLEX_UID=${PUID}
      - PLEX_GID=${PGID}
      - ADVERTISE_IP="http://192.168.3.112:32400/"

  grafana:
    image: grafana/grafana
    container_name: grafana
    restart: always
    ports:
      - "3000:3000"
    networks:
      - monitoring
    volumes:
      - grafana-volume:/vol01/Docker/monitoring

  influxdb:
    image: influxdb
    container_name: influxdb
    restart: always
    ports:
      - "8086:8086"
    networks:
      - monitoring
    volumes:
      - influxdb-volume:/vol01/Docker/monitoring
    environment:
      - INFLUXDB_DB=telegraf
      - INFLUXDB_USER=telegraf
      - INFLUXDB_ADMIN_ENABLED=true
      - INFLUXDB_ADMIN_USER=admin
      - INFLUXDB_ADMIN_PASSWORD=Welcome123

  telegraf:
    image: telegraf
    container_name: telegraf
    restart: always
    extra_hosts:
      - “influxdb:192.168.3.112”
    environment:
      HOST_PROC: /rootfs/proc
      HOST_SYS: /rootfs/sys
      HOST_ETC: /rootfs/etc
    volumes:
      - ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /sys:/rootfs/sys:ro
      - /proc:/rootfs/proc:ro
      - /etc:/rootfs/etc:ro
#  broker:
#    image: eclipse-mosquitto
#    volumes:
#      - "./mosquitto:/mosquitto"
#    networks:
#      - localnet
#    ports:
#      - "1883:1883"
#  node-red:
#    image: nodered/node-red:latest
#    environment:
#      - TZ=Europe/Amsterdam
#    ports:
#      - "1880:1880"
#    networks:
#      - node-red-net
#    volumes:
#      - node-red-data:/data

networks:
  monitoring:
  localnet:
#  node-red-net:

volumes:
#  node-red-data:
  grafana-volume:
    external: true
  influxdb-volume:
    external: true

在我废弃所有内容之前,任何帮助都会有所帮助。 我真的认为 docker 和 docker compose 太复杂了。即使拥有工程师学位和计算机科学学位(我认为 20 年前事情更容易lol)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)