source

도커 구성 - cURL 오류 7: 로컬 호스트 포트 8080에 연결하지 못함: 연결 거부

ittop 2023. 10. 29. 19:57
반응형

도커 구성 - cURL 오류 7: 로컬 호스트 포트 8080에 연결하지 못함: 연결 거부

처음으로 도커 컴포지트를 사용하여 로컬 워드프레스 환경을 설정하려고 합니다.현재 Wordpress 인스턴스에 액세스할 수 있습니다.localhost:8080파일을 로컬로 매핑할 수 있습니다.

테마를 구입해서 추가했습니다.wp-content/themes, 필요한 플러그인을 설치하라는 메시지가 나타납니다.클릭할 때Install, 다음 오류가 발생합니다.

Download failed. cURL error 7: Failed to connect to localhost port 8080: Connection refused

구성 파일은 다음과 같습니다.

version: "2"

services:
  my-wpdb:
    image: mariadb
    ports:
      - "8081:3306"
    environment:
      MYSQL_ROOT_PASSWORD: password
  my-wp:
    image: wordpress:latest
    volumes:
      - ./:/var/www/html
    ports:
      - "8080:80"
    links:
      - my-wpdb:mysql
    environment:
      WORDPRESS_DB_PASSWORD: password

간단한 해결책일 수도 있지만, 저는 그것을 이해할 수 없는 것 같습니다.감사합니다!

papey의 답변에 따르면 curl은 컨테이너(80) 내부에 있는 동안 외부 포트(8080)에서 연결을 시도하고 있습니다.

구글 검색을 많이 한 끝에 사람들이 제시한 유일한 해결책은 내부 포트와 외부 포트를 80:80으로 변경하는 것이었습니다.포트 80에서 다른 서비스를 실행하는 경우에는 이를 실행할 수 없습니다.

제 해결책은 컨테이너 내부의 Apache2 conf를 외부 포트에서 Apache가 내부에서 응답하도록 수정하는 것이었습니다.더 좋은 방법이 있을지도 모르지만, 이것은 효과가 있습니다.

/etc/apache2/ports.conf

Listen 80
Listen 8080

/etc/apache2/sites-사용 가능/000-default.conf

<VirtualHost *:*>

당신의 도커 구성에 따라:

  - "8080:80"

8080은 용기 외부에 있습니다.

80은 용기안에 있습니다

저는 폴 H의 해결책에 동의합니다.실행 중인 WordPress Linux Docker 컨테이너 안에서 다음 명령을 실행한 후 컨테이너를 다시 시작합니다.

echo -e "\nListen 8080\n" >> /etc/apache2/ports.conf
echo -e "\n<VirtualHost *:*>\n</VirtualHost>\n" >> /etc/apache2/sites-available/000-default.conf

cat /etc/apache2/ports.conf && cat /etc/apache2/sites-available/000-default.conf

언급URL : https://stackoverflow.com/questions/43743894/local-wordpress-env-with-docker-compose-curl-error-7-failed-to-connect-to-loc

반응형