我正在尝试从Docker容器运行一个web项目,当我用英特尔芯片在macBook上对应用程序进行Dockerize时,一切都运行良好,我可以调用Docker容器。但是,当我在M2 MacBook Air上使用相同的设置运行相同的项目时,浏览器会返回一个空响应。("此页面不工作"-->在Chrome中(
即使容器似乎正在运行,也会发生这种情况。。。(两个容器都亮起了绿色-->在Docker Desktop中(
该容器使用了一个Nginx服务和一个php服务。yml文件如下所示:
Docker-compose.yml
version: '3'
services:
#PHP Service
app:
build:
context: .
dockerfile: Dockerfile
image: php:8.0.6-fpm
container_name: Asset-Service
restart: unless-stopped
tty: true
environment:
SERVICE_NAME: Asset-Service
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./:/var/www
- ./php/local.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx:stable
container_name: Asset-Web-Server
restart: unless-stopped
tty: true
ports:
- "8087:80"
- "4487:443"
volumes:
- ./:/var/www
- ./nginx/conf.d/:/etc/nginx/conf.d/
networks:
- app-network
#Docker Networks
networks:
app-network:
driver: bridge
#Volumes
volumes:
dbdata:
driver: local
我的Dockerfile如下,尽管我不认为这个文件会导致问题:
Dockerfile
FROM php:8.0.6-fpm
# Copy composer.lock and composer.json
COPY composer.lock composer.json /var/www/
# Set working directory
WORKDIR /var/www
# Install dependencies
USER root
RUN apt-get update && apt-get install -y
mariadb-client-10.3
libcurl4-openssl-dev
pkg-config
libssl-dev
libpng-dev
libzip-dev
libonig-dev
libjpeg62-turbo-dev
libfreetype6-dev
locales
zip
jpegoptim optipng pngquant gifsicle
vim
unzip
git
curl
nano
RUN pecl uninstall mongodb
RUN pecl install mongodb
RUN echo "extension=mongodb.so" >> /usr/local/etc/php/conf.d/mongodb.ini
# Clear cache
## RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# Install extensions
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl
RUN docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/
RUN docker-php-ext-install gd
#RUN docker-php-ext-enable mongodb
# Install composer
## RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Add user for laravel application
RUN groupadd -fg 1000 www
RUN id -u 1000 >/dev/null 2>&1 || useradd -u 1000 -ms /bin/bash -g www www
# Copy existing application directory contents
COPY . /var/www
# Copy existing application directory permissions
COPY --chown=www:www . /var/www
# Change current user to www
USER www
# Expose port 9000 and start php-fpm server
EXPOSE 9000
CMD ["php-fpm"]
容器日志看起来正常,检查选项卡中的端口显示0.0.0.0:8087和0.0.0.0:4487
这是苹果硅版Docker反复出现的问题吗,对此我能做些什么吗?
我已经尝试在英特尔macBook上复制这个问题,但得到了预期的结果,而不是空的响应。
在我的M2上,我尝试重新安装Docker并重建容器,但这似乎没有解决任何问题。。。
决不解决此问题。尝试从Desktop文件夹生成容器时出现此问题。