简体   繁体   English

使用 docker-compose 使用 docker 的 IP 寻址错误

[英]IP addressing error with docker with docker-compose

I have mounted two identical docker on two ubuntu vps with docker-compose.我已经使用 docker-compose 在两个 ubuntu vps 上安装了两个相同的 docker。 The concern is that the first one works well, and the pilces dialogue between it, the second one not.令人担忧的是,第一个运行良好,它之间的 pilces 对话,第二个不行。 What I see is that the ip set by default in 1 / is 172.XXX and the one set in 2 / is 192.XXX I am on virgin vps, no particular configuration file ... but I do not see how this is possible.我看到的是 1 / 中默认设置的 ip 是 172.XXX,而 2 / 中设置的 ip 是 192.XXX 我在原始 vps 上,没有特定的配置文件......但我不明白这是怎么可能的. Here is the docker-compose这是 docker-compose

version: '2.4'
services:
  redis:
    image: redis:alpine



 db:
    image: mariadb:10.5
    working_dir: /application
    command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb-file-format=Barracuda, --innodb-large-prefix=1, --innodb-file-per-table=1]
    volumes:
      - pimcore-demo-database:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=ROOT
      - MYSQL_DATABASE=pimcore
      - MYSQL_USER=pimcore
      - MYSQL_PASSWORD=pimcore

  php:
    image: pimcore/pimcore:PHP8.0-apache
    volumes:
      - .:/var/www/html:cached
    ports:
     - 80:80
     - 443:443
    environment:
     - APACHE_DOCUMENT_ROOT=/var/www/html/public

  php-debug:
    image: pimcore/pimcore:PHP8.0-apache-debug
    volumes:
      - .:/var/www/html:cached
    ports:
     - 88:80
    environment:
      - PHP_IDE_CONFIG="serverName=localhost"
      - APACHE_DOCUMENT_ROOT=/var/www/html/public

volumes:
  pimcore-demo-database:

thank you in advance先感谢您

Try to add networking config inside your compose yml to use specific IPs, like following:尝试在您的 compose yml 中添加网络配置以使用特定的 IP,如下所示:

more infos on https://docs.docker.com/compose/networking/#use-a-pre-existing-network有关https://docs.docker.com/compose/networking/#use-a-pre-existing-network 的更多信息

version: '2.4'
services:
  redis:
    image: redis:alpine

 db:
    image: mariadb:10.5
    working_dir: /application
    command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb-file-format=Barracuda, --innodb-large-prefix=1, --innodb-file-per-table=1]
    volumes:
      - pimcore-demo-database:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=ROOT
      - MYSQL_DATABASE=pimcore
      - MYSQL_USER=pimcore
      - MYSQL_PASSWORD=pimcore
    networks:           # <-- Add this line
      - you_own_network # <-- Add this line

  php:
    image: pimcore/pimcore:PHP8.0-apache
    volumes:
      - .:/var/www/html:cached
    ports:
     - 80:80
     - 443:443
    environment:
     - APACHE_DOCUMENT_ROOT=/var/www/html/public
    networks:           # <-- Add this line
      - you_own_network # <-- Add this line

  php-debug:
    image: pimcore/pimcore:PHP8.0-apache-debug
    volumes:
      - .:/var/www/html:cached
    ports:
     - 88:80
    environment:
      - PHP_IDE_CONFIG="serverName=localhost"
      - APACHE_DOCUMENT_ROOT=/var/www/html/public
    networks:           # <-- Add this line
      - you_own_network # <-- Add this line

volumes:
  pimcore-demo-database:

networks:               # <-- Add this block
  you_own_network:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.123.123.0/24

Ok solution :好的解决方案:

sudo snap remove docker
sudo rm -R /var/lib/docker
sudo apt-get remove docker docker-engine docker.io
sudo apt-get update
https://doc.ubuntu-fr.org/docker
systemctl start docker

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM