如何在Docker容器上启用curl?

jecbmhm3  于 4个月前  发布在  Docker
关注(0)|答案(1)|浏览(66)

我对这件事已经束手无策了,我试过太多不同的东西,都忘了。
这是我的Dockerfile

FROM wordpress:latest

RUN apt-get update
RUN apt-get install -y gcc
RUN apt-get install -y curl
RUN apt-get install -y libcurl4-openssl-dev
RUN docker-php-ext-install curl
RUN docker-php-ext-enable curl

字符串
这是我的作文。yml

services:
  db:
    # We use a mariadb image which supports both amd64 & arm64 architecture
    #image: mariadb:10.6.4-focal
    # If you really want to use MySQL, uncomment the following line
    image: mysql:8.0.27
    command: '--default-authentication-plugin=mysql_native_password'
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060
  wordpress:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress
    volumes:
      - ./:/var/www/html
      - $PWD/php.ini:/usr/local/etc/php/php.ini-development
volumes:
  db_data:


下面是在那个compose文件中引用的php.ini中的扩展名列表。如果你需要看到完整的东西,我必须找到另一种方法来发送它,因为它远远超过了字符的限制。

; Notes for Windows environments :
;
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
;   extension folders as well as the separate PECL DLL download (PHP 5+).
;   Be sure to appropriately set the extension_dir directive.
;
;extension=bz2
extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
;extension=gd
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
;extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=oci8_19  ; Use with Oracle Database 19 Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop


我可以SSH进入容器并确认curl已经安装并工作,我可以确认php.iniMap到并替换了容器中的php.ini-development。但是,当我在一个文件中调用curl_init()时,我得到“致命错误:未捕获的错误:调用未定义的函数curl_init().....”
我已经没有别的办法了,还有别的选择吗?

ev7lccsx

ev7lccsx1#

我旋转了一个新的容器,它与上述文件工作得很好。我一定是不小心改变了原来的容器或东西的设置。

相关问题