【发布时间】:2019-08-26 14:17:48
【问题描述】:
嗨,你能帮我,为什么我在浏览器app.dev 中访问时看不到我的页面,它说无法连接。我只看到控制台中的回声,你能在我的 docker-compose.yml 中帮助我吗?在我的 dockerfile 中缺少什么。我的 php 是正确的图像吗?
version: "3.7"
services:
web:
build: .
image: nginx:latest
container_name: nginx-container
ports:
- "8080:80"
expose:
- 9000
volumes:
- ./:/var/www/myapp
- ./default.conf:/etc/nginx/conf.d/default.conf
links:
- php
php:
image: php:7-fpm
container_name: php-container
db:
image: mysql
container_name: mysql-container
command: --default-authentication-plugin=mysql_native_password
volumes:
- ./mysql-data:/var/lib/mysql
expose:
- 3306
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: rootpass
site.conf
server {
listen 80;
index index.php;
server_name app.dev;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/myapp;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
码头文件
FROM php:7.2-cli
COPY . /var/www/myapp
WORKDIR /var/www/myapp
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
&& docker-php-ext-install -j$(nproc) iconv \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
entrypoint [ "php", "./index.php" ]
【问题讨论】:
-
当你运行
docker-compose up -d时会发生什么? -
当我输入 localhost 它显示 nginx 页面
-
"当我输入 localhost 时它会显示 nginx 页面"
-
但我已经编辑了主机文件 127.0.0.1 app.dev 。仍然没有显示回声
-
哦,但是为什么不是 index.php 呢?我有 index.php echo "Hello World my first docker";但它没有显示
标签: docker docker-compose docker-for-windows