相关疑难解决方法(0)

docker Composer install RunTimeException /var/www/html/vendor 不存在且无法创建

我有一个 Laravel 项目。这是我的docker-compose.yml文件。

nginx:
    build: ./nginx/
    ports:
        - 90002:80
    links:
        - php
    volumes_from:
        - app

php:
    build: ./php/
    expose:
        - 9000
    links:
        - mysql
    volumes_from:
        - app

composer:
    image: composer/composer
    volumes_from:
        - php
    working_dir: /var/www/html

app:
    image: php:7.0-fpm
    volumes:
        - ./test-api:/var/www/html
    command: "true"

mysql:
    image: mysql:latest
    volumes_from:
        - data
    environment:
        MYSQL_ROOT_PASSWORD: test
        MYSQL_DATABASE: user
        MYSQL_USER: uesr
        MYSQL_PASSWORD: test

data:
    image: mysql:latest
    volumes:
        - /var/lib/mysql
    command: "true"

phpmyadmin:
    image: phpmyadmin/phpmyadmin
    ports:
        - 90003:80
    links:
        - mysql
    environment:
        PMA_HOST: mysql …
Run Code Online (Sandbox Code Playgroud)

php docker-compose

5
推荐指数
1
解决办法
6005
查看次数

bcrypt 和 Docker bcrypt_lib.node:无效的 ELF 标头

我看到了几个关于 macOS、Docker 和bcryptNode.js 的问题。似乎是最接近我的问题的答案,但它不起作用。

我的Dockerfile

FROM node:6.4.0

COPY . /app
RUN ls -la /app
WORKDIR /app

RUN cd /app; npm install
CMD ["node", "index.js"]
Run Code Online (Sandbox Code Playgroud)

我的.dockerignore文件:

node_modules
Run Code Online (Sandbox Code Playgroud)

我的package.json依赖:

"dependencies": {
  "bcrypt": "1.0.0",
}
Run Code Online (Sandbox Code Playgroud)

启动容器时,出现此错误:

/app/node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header
Run Code Online (Sandbox Code Playgroud)

ls -la /app命令中Dockerfile我可以看到该node_modules文件夹绝对不是从主机(macOS)复制的:

drwxr-xr-x  6 root root  4096 Dec  7 21:29 .
drwxr-xr-x 47 root root  4096 Dec  7 21:29 ..
-rw-r--r--  1 root root   763 Dec …
Run Code Online (Sandbox Code Playgroud)

bcrypt node.js docker macos-sierra

4
推荐指数
2
解决办法
3317
查看次数

使用 Symfony 3.4 更改供应商目录无法再找到文件

我正在尝试更改我对 Symfony 3.4 应用程序的依赖项的目录。

我需要它,因为我正在使用 Docker 在 macOS 上工作,我宁愿不与主机共享它们,因为文件同步太慢了。

相关文档,内容为:

composer.json 中的更改将如下所示:

{
    "config": {
        "bin-dir": "bin",
        "vendor-dir": "/some/dir/vendor"
    },
}
Run Code Online (Sandbox Code Playgroud)

我做的

然后,更新 app/autoload.php 中 autoload.php 文件的路径:

// app/autoload.php

// ...
$loader = require '/some/dir/vendor/autoload.php';
Run Code Online (Sandbox Code Playgroud)

autoload.php我的app目录中没有任何文件。
我在文档中遗漏了什么吗?

应用程序生成以下致命错误:

警告:要求(/some/dir/vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php):无法打开流:/vendor/composer/autoload_real 中没有这样的文件或目录。第 66 行的 php

致命错误:require(): 无法打开所需的 '/some/dir/vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php' (include_path='.:/usr/local/lib /php') 在第 66 行的 /vendor/composer/autoload_real.php 中

我最初使用以下方法创建了该应用程序:

$ composer create-project symfony/framework-standard-edition test "3.*"
Run Code Online (Sandbox Code Playgroud)

php symfony composer-php

4
推荐指数
1
解决办法
2839
查看次数

Docker Ignore对于docker compose和我的文件结构没有很好的了解

我正在设置一个新的dockerfile和docker-compose.yml。我首先在下面显示我的带有rails的文件结构,我想使用一个新的.dockerignore来忽略node_modules.git

我的Docker 版本是:Docker版本18.09.0,构建4d60db4

我使用的docker-compose.ymlv3

根目录

- Gemfile
- app
- bin
- cable
- db
- config
- lib
- node_modules
- public
- vendor
- docker
  - app
    - Dockerfile
- .git
- .gitignore
- .dockerignore
- docker-compose.yml
Run Code Online (Sandbox Code Playgroud)

码头工人/应用程序/码头文件

FROM ruby:2.3.1
ARG RAILS_ROOT
RUN mkdir -p $RAILS_ROOT
WORKDIR $RAILS_ROOT
COPY . .
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml


version: '3'
services:
  app:
    build: &build_core
      context: .
      dockerfile: ./docker/app/Dockerfile
      args:
        - APP_NAME=myappname
        - RAILS_ROOT=/var/www/${APP_NAME}_web
        - …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails docker dockerfile docker-compose

3
推荐指数
2
解决办法
1225
查看次数

Docker 容器可从 Dockerfile 运行,但获取下一个:未从 docker-compose 容器中找到

我的 docker-compose 配置文件有问题。我的目标是使用 docker-compose 文件运行 Next.js 应用程序并启用热重载。

从 Dockerfile 运行 Next.js 应用程序可以工作,但热重载不起作用。从 docker-compose 文件运行 Next.js 应用程序会触发错误:/bin/sh: next: not found并且我无法弄清楚出了什么问题......

Dockerfile:(取自 Next.js 的文档网站)

[但请注意,这是一个多阶段构建,我仅引用builderdocker-compose 文件中的阶段。]

# Install dependencies only when needed
FROM node:18-alpine AS deps
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn install # --frozen-lockfile

# Rebuild the source code only when needed
FROM node:18-alpine AS builder
WORKDIR /app
COPY …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-compose next.js

3
推荐指数
1
解决办法
1万
查看次数

为什么 docker-compose 在构建过程中未找到 vite?

我有一个用 Vite 构建的 React 前端应用程序。当我运行 Docker 时,出现以下错误

\n
[+] Running 1/1\n \xe2\xa0\xbf Container client-client-1  Recreated                                                                0.2s\nAttaching to client-client-1\nclient-client-1  |\nclient-client-1  | > client@0.0.0 dev\nclient-client-1  | > vite\nclient-client-1  |\nclient-client-1  | sh: 1: vite: not found\nclient-client-1 exited with code 127\n
Run Code Online (Sandbox Code Playgroud)\n

下面你可以看到我的 Dockerfile:

\n
FROM node\n\nWORKDIR /usr/src/app\n\nCOPY ./package.json .\n\nRUN npm i\n\nCOPY . .\n\n\nCMD ["npm", "run", "dev"]\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试在构建 docker 容器期间添加一个命令来安装 vite,但它不起作用。\n您检查下面的 docker-compose 文件

\n
[+] Running 1/1\n \xe2\xa0\xbf Container client-client-1  Recreated                                                                0.2s\nAttaching to client-client-1\nclient-client-1  |\nclient-client-1  | > client@0.0.0 dev\nclient-client-1  | > vite\nclient-client-1  |\nclient-client-1 …
Run Code Online (Sandbox Code Playgroud)

npm docker reactjs docker-compose vite

2
推荐指数
1
解决办法
7600
查看次数

Docker 组合卷

在搜索 docker-compose 文件时,我遇到了这个。我看到该卷有两条指令,我很确定第二条指令是映射,但我不知道第一条指令是什么。

 volumes:
  - /app/node_modules
  - ./server:/app
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-compose

1
推荐指数
1
解决办法
5225
查看次数