غير قادر على الوصول إلى موقع ووردبريس تم إنشاؤه ككومة عامل ميناء

أحاول إنشاء موقع وورد داخل كومة عامل الميناء تتألف من الخدمات التالية:

  • wordpress - موقع وورد نفسه
  • db - حاوية الخلية

لدي ما يلي stack.yml الملف:

version: '3.1'networks:  abtehnic:services:  db:    image: mysql:latest    restart: always    networks:      - abtehnic    environment:      MYSQL_ROOT_PASSWORD: XXXXX      MYSQL_DATABASE: wordpress      MYSQL_USER: wordpress      MYSQL_PASSWORD: barbu123  wordpress:    image: abtehnic-wordpress    depends_on:      - db    restart: always    ports:      - 80    environment:      WORDPRESS_DB_HOST: db:3306      WORDPRESS_DB_USER: wordpress      WORDPRESS_DB_PASSWORD: wordpress      WORDPRESS_DB_PASSWORD: barbu123    networks:      - abtehnic    volumes:      - ./source:/var/www/html

أقوم بنشر المكدس باستخدام الأمر التالي:

stack عامل الميناء المكدس نشر-ج المكدس.يمل أبتيهنيك

ال docker ps إخراج الأمر ما يلي:

CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS               NAMES256e65fe2c4c        mysql:latest        "docker-entrypoint..."   About a minute ago   Up About a minute   3306/tcp            abtehnic_db.1.mo0xp17adt2jocu9yivkzg19g26481d8bab95        wordpress:4.8       "docker-entrypoint..."   About a minute ago   Up About a minute   80/tcp              abtehnic_wordpress.1.tiikrjwm1kcmxjg7v74vrcquw

أحاول معرفة المنفذ المعين عبر:

$ docker port <container_id for wordpress>

وانتاجها فارغ. أيضا عندما أركض docker logs <container_id_for_wordpress> أحصل على ما يلي:

Warning: mysqli::mysqli(): php_network_getaddresses: getaddrinfo failed: Name or service not known in - on line 22Warning: mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known in - on line 22MySQL Connection Error: (2002) php_network_getaddresses: getaddrinfo failed: Name or service not knownWarning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 22MySQL Connection Error: (2002) Connection refusedWarning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 22MySQL Connection Error: (2002) Connection refusedMySQL Connection Error: (2002) Connection refusedWarning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 22AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.0.1.3. Set the 'ServerName' directive globally to suppress this messageAH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.0.1.3. Set the 'ServerName' directive globally to suppress this message[Sat Oct 28 16:05:32.189285 2017] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.10 (Debian) PHP/5.6.31 configured -- resuming normal operations[Sat Oct 28 16:05:32.189321 2017] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'

هنا أسئلتي:

  1. لماذا لا يمكن لل wordpress حاوية الوصول إلى db حاوية?
  2. لماذا لا يوجد أي منفذ يمكنني استخدامه للوصول إلى موقع ووردبريس من مضيفي?
depends_on:  - db

هذا فقط يجعل من حاوية قاعدة البيانات محملة بالكامل قبل حاوية وورد. تحتاج إلى إخبار عامل الميناء لربط db حاوية من wordpress حاوية للإشارة إليها بالاسم.

ما عامل الميناء يؤلف لا تحت غطاء محرك السيارة هو اتخاذ إب عامل الميناء يعطي db حاوية وإضافة /etc/hosts الدخول إلى wordpress حاوية حتى تتمكن من الرجوع إليها بالاسم.

وذلك في محاولة إضافة هذا إلى قسم وورد

links:  - db

سأفترض أنك تفعل شيئا مثل docker port 26481d8bab95، وفقا لسؤالك قمت بتعريف المنفذ 80، لذلك إجابتك هي المنفذ 80:

# docker run -d -p 80:80 wordpressdc9e4aab1015eb5d82cf489e2943d76084faceaf3093bc3238964d6cfa81ab1c# docker port dc9e4aab1015eb5d82cf489e2943d76084faceaf3093bc3238964d6cfa81ab1c80/tcp -> 0.0.0.0:80# 

كومة أم لا ، يجب أن يكون لا يزال قادرا على استخدام docker port

  1. mysqld يستغرق وقتا أطول لبدء مقارنة httpd (وورد) ، لهذا السبب كنت ترى أخطاء
  2. عامل الميناء الحكمة ، تم تكوينه بشكل صحيح والسبب الفعلي لماذا لا يمكنك الوصول إليه يمكن أن يكون العديد ، جدار الحماية وغيرها.

تحقق من سجلات خدمة دب للتأكد من أنها بدأت 'سجلات عامل الميناء أبتيهنيك_دب1. مو0 إكس بي 17أدت2جوكو 9أيفكزغ 19ز’