我一直在尝试对laravel应用进行docker化,但是每次运行docker-compose build时,我都会不断遇到Service 'app' failed to build: unauthorized: authentication required
错误。
以下是我使用的docker文件:
docker-compose.yaml文件:
version: '2'
services:
# The Application
app:
build:
context: ./
dockerfile: app.dockerfile
working_dir: /var/www
volumes:
- ./:/var/www
environment:
- "DB_PORT=3306"
- "DB_HOST=database"
# The Web Server
web:
build:
context: ./
dockerfile: web.dockerfile
working_dir: /var/www
volumes_from:
- app
ports:
- 8080:80
# The Database
database:
image: mysql:5.6
volumes:
- dbdata:/var/lib/mysql
environment:
- "MYSQL_ROOT_PASSWORD="
- "MYSQL_DATABASE=database"
- "MYSQL_USER=root"
ports:
- "33061:3306"
volumes:
dbdata:
我的app.dockerfile:
FROM php:7.0.4-fpm
RUN apt-get update && apt-get install -y libmcrypt-dev \
mysql-client libmagickwand-dev --no-install-recommends \
&& pecl install imagick \
&& docker-php-ext-enable imagick \
&& docker-php-ext-install mcrypt pdo_mysql
web.docker文件:
FROM nginx:1.10
ADD vhost.conf /etc/nginx/conf.d/default.conf
vhost.conf文件:
server {
listen 80;
index index.php index.html;
root /var/www/public;
location / {
try_files $uri /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass app:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
以上文件位于laravel应用程序的根目录中,并且我使用Windows 10 Pro。 解决我的问题的任何帮助将不胜感激。
答案 0 :(得分:0)
我注意到您正在将本地应用程序目录映射到您的容器中。在适用于Windows 10的Docker上,您必须执行以下操作以使本地驱动器可用于您的容器:
注意:如果您更改登录密码,则需要返回到此设置位置和“重置凭据”