मैं अभी डॉकटर में शुरुआत कर रहा हूं और हो सकता है कि मैं थोड़ा बड़ा शुरू कर रहा हूं, लेकिन मुझे एक लेख मिला, जिसमें mysql के साथ एक कोल्डफ्यूजन इंस्टॉल (कमांडबॉक्स द्वारा चलाया गया) प्राप्त करने के लिए समझाया गया है। यह डॉकटर कंपोज़ ठीक काम करता है। मुझे phpmyadmin में जोड़ने का विचार था ताकि मैं हमें MySQL से कनेक्ट कर सकूं।

संदर्भ के लिए मूल लेख यहाँ है: https://cfswarm.inleague.io/part3-docker-in-Development/part3-running-docker

इसलिए मैंने phpmyadmin में डॉकर कंपोज़ yml पुल को संशोधित किया

    version: '3.6'  # if no version is specificed then v1 is assumed. Recommend v2 minimum
volumes:
  sql-data:
networks:
  cfswarm-simple:
secrets:
  cfconfig:
    file: ./config/cfml/cfconfig.json

services:       
  cfswarm-mysql:        # a friendly name. this is also DNS name inside network
    image: mysql:5.7
    container_name: cfswarm-mysql
    environment:
      MYSQL_ROOT_PASSWORD: 'myAwesomePassword'
      MYSQL_DATABASE: 'cfswarm-simple-dev'
      MYSQL_ROOT_HOST: '%'
      MYSQL_LOG_CONSOLE: 'true'
    volumes:    
      - type: volume
        source: sql-data
        target: /var/lib/mysql
    ports: 
      - 3306:3306
    networks:
        - cfswarm-simple
  cfswarm-cfml:
    image: ortussolutions/commandbox:alpine
    container_name: cfswarm-cfml
    volumes:
      - type: bind
        source: ./app-one
        target: /app
    ports: 
      - 8081:8080        
    env_file:
      - ./config/cfml/simple-cfml.env
    secrets:
      - source: cfconfig # this isn't really a secret but non-stack deploys don't support configs so let's make it one
        target: cfconfig.json
    networks:
        - cfswarm-simple
    depends_on:
      - cfswarm-mysql
      - cfswarm-nginx
  cfswarm-two-cfml:
    image: ortussolutions/commandbox:alpine
    container_name: cfswarm-two-cfml
    volumes:
      - type: bind
        source: ./app-two
        target: /app
    env_file:
      - ./config/cfml/simple-cfml.env
    secrets:
      - source: cfconfig # this isn't really a secret but non-stack deploys don't support configs so let's make it one
        target: cfconfig.json
    depends_on:
      - cfswarm-mysql
      - cfswarm-nginx
    networks:
        - cfswarm-simple
  **phpmyadmin:
        image: phpmyadmin/phpmyadmin:latest
        container_name: phpmyadmin
        restart: always
        environment:
          PMA_HOST: cfswarm-mysql
          PMA_USER: root
          PMA_PASSWORD: 'myAwesomePassword'
        ports:
             - "8082:80"**       
  cfswarm-nginx:
    image: nginx
    command: [nginx-debug, '-g', 'daemon off;']
    container_name: cfswarm-nginx
    ports:
      - 80:80
      - 443:443
    volumes:
      - type: bind
        source: ./app-one
        target: /var/www/app-one
      - type: bind
        source: ./app-two
        target: /var/www/app-two
      - type: bind
        source: ./nginx/
        target: /etc/nginx
    networks:
      - cfswarm-simple

तो लाइन 63 पर मैंने phpymyadmin के लिए पुल में जोड़ा जो काम करता प्रतीत होता है, यह पोर्ट 8082 पर उत्तर देता है लेकिन यह मुझे एक त्रुटि देता है:

MySQL ने कहा: दस्तावेज़ीकरण

Cannot connect: invalid settings.
 mysqli::real_connect(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
 mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
 phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in your configuration and make sure that they correspond to the information given by the administrator of the MySQL server.

एक चीज जो मुझे काम करने के लिए नहीं मिली, वह थी cfswarm-simple के नेटवर्क में जोड़ना। जब मैंने पोर्ट्स (लाइन 72) के ठीक नीचे लाइन जोड़ने की कोशिश की, तो डॉकर कंपोज़ शुरू करने का प्रयास करते समय मुझे एक त्रुटि मिलेगी।

अभी, मैं phpmyadmin के डॉकटर के साथ mysql docker से कनेक्ट करने में सक्षम होना चाहता हूं।

तिया

answer

मैं यह पता लगाने में सक्षम था कि यह एक रिक्ति मुद्दा था। सुनिश्चित करें कि कोई भी नई प्रविष्टि पहले उपयोग किए गए रिक्त स्थान से मेल खाती है।