启动devcontainer包含错误

发布于 2025-01-30 06:00:32 字数 5755 浏览 5 评论 0原文

我VS代码我有一个devcontainer。和de容器正在运行。但是,如果我尝试执行遥控器%:重建容器。

然后我遇到了这个错误:

ERROR: Encountered errors while bringing up the project.
[17212 ms] Error: Command failed: docker-compose --project-name webscraper_devcontainer -f c:\xampp\htdocs\webScraper\.devcontainer\docker-compose.yml -f c:\Users\engel\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data\docker-compose\docker-compose.devcontainer.containerFeatures-1652959425107.yml up -d
[17212 ms]     at CR (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:187:618)
[17212 ms]     at processTicksAndRejections (node:internal/process/task_queues:96:5)
[17212 ms]     at async ER (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:183:2075)
[17212 ms]     at async $R (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:226:2178)
[17213 ms]     at async Zy (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:226:3112)
[17213 ms]     at async BR (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:226:12448)
[17213 ms]     at async qR (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:226:12204)
[17224 ms] Exit code 1
[17227 ms] Command failed: C:\Users\engel\AppData\Local\Programs\Microsoft VS Code\Code.exe c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js up --user-data-folder c:\Users\engel\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data --container-data-folder .vscode-server/data/Machine --container-system-data-folder /var/vscode-server --workspace-folder c:\xampp\htdocs\webScraper --workspace-mount-consistency cached --id-label vsch.local.folder=c:\xampp\htdocs\webScraper --id-label vsch.quality=stable --log-level debug --log-format json --config c:\xampp\htdocs\webScraper\.devcontainer\devcontainer.json --default-user-env-probe loginInteractiveShell --remove-existing-container --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[17227 ms] Exit code 1

这就是我的dockerfile的样子:

FROM php:8.1-apache as dev

ENV DEBIAN_FRONTEND=noninteractive
ENV APP_ENV=development

WORKDIR /var/www/html

RUN apt-get update \
  && apt-get -y install --no-install-recommends apt-utils zip unzip nano ncdu 2>&1 \
    && apt-get -y install --no-install-recommends python graphviz 2>&1 \
  && apt-get -y install git iproute2 procps lsb-release \
  && apt-get install -y -qq software-properties-common \
  && apt-get install -y -qq wget git lynx ack-grep \
  && yes | pecl install xdebug \
  && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
    && apt-get -y install libicu-dev \
    && docker-php-ext-install intl pdo_mysql opcache \
    && pecl install apcu && docker-php-ext-enable apcu \
    && echo "apc.enable_cli=1" > /usr/local/etc/php/php.ini \
    && echo "apc.enable=1" > /usr/local/etc/php/php.ini \
  && echo "post_max_size = 100M" > /usr/local/etc/php/php.ini \
    && a2enmod rewrite \
  && apt-get autoremove -y \
  && apt-get clean -y \
  && rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install gnupg2 -y

RUN rm -rf /etc/apache2/sites-enabled \
    && ln -s /var/www/html/.devcontainer/sites-enabled /etc/apache2/sites-enabled

RUN echo 'alias ll="ls -la --color=auto"' >> ~/.bashrc && \
    echo "alias ack='ack-grep'" >> ~/.bashrc

RUN chown www-data:www-data -R ./

ENV DEBIAN_FRONTEND=dialog



还有我的docker-compose.yml:

version: '3'
services:
  web:
    container_name: dockeryii
    build:
      context: ..
      dockerfile: dockerfile
      target: dev
    volumes:
      - ../:/var/www/html       
    command: /bin/sh -c "service apache2 start && while sleep 1000; do :; done"
  db:
    container_name: dockeryiimysql
    image: mysql:latest
    volumes:
      - dockeryiimysql:/var/lib/mysql
    expose:
      - 3306
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
      MYSQL_DATABASE: sdi      
  phpmyadmin:  
    container_name: dockeryiipma
    image: phpmyadmin:latest
    environment:
      UPLOAD_LIMIT: 300M
      PMA_ARBITRARY: 1
      APACHE_HTTP_PORT_NUMBER: 8080
    ports:
      - 8080:8080
    command: /bin/bash -c "sed -i \"s/80/$$APACHE_HTTP_PORT_NUMBER/g\" /etc/apache2/sites-available/000-default.conf /etc/apache2/ports.conf && /docker-entrypoint.sh apache2-foreground"

volumes:
  dockeryiimysql: {}

我的devcontainer.json:

{
  "name": "Dockeryii",
  "dockerComposeFile": ["docker-compose.yml"],
  "service": "web",
  "shutdownAction": "none",
  "extensions": ["felixfbecker.php-debug",
        "zobo.php-intellisense",
        "mrmlnc.vscode-apache"],
  "forwardPorts": [80],
  "workspaceFolder": "/var/www/html",
  "settings": { 
        "php.validate.executablePath": "/usr/local/bin/php"
    }
}

所以我的问题是:我必须更改什么?

谢谢您

,如果我这样做:

docker-compose -f C:\xampp\htdocs\webScraper\.devcontainer\docker-compose.yml config

我只能获得de file的输出:docker-compose.yml。

I vs code I have a devcontainer. And de containers are running. But if I try to do remote-cointainers%:Rebuild container.

Then I get this errors:

ERROR: Encountered errors while bringing up the project.
[17212 ms] Error: Command failed: docker-compose --project-name webscraper_devcontainer -f c:\xampp\htdocs\webScraper\.devcontainer\docker-compose.yml -f c:\Users\engel\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data\docker-compose\docker-compose.devcontainer.containerFeatures-1652959425107.yml up -d
[17212 ms]     at CR (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:187:618)
[17212 ms]     at processTicksAndRejections (node:internal/process/task_queues:96:5)
[17212 ms]     at async ER (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:183:2075)
[17212 ms]     at async $R (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:226:2178)
[17213 ms]     at async Zy (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:226:3112)
[17213 ms]     at async BR (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:226:12448)
[17213 ms]     at async qR (c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js:226:12204)
[17224 ms] Exit code 1
[17227 ms] Command failed: C:\Users\engel\AppData\Local\Programs\Microsoft VS Code\Code.exe c:\Users\engel\.vscode\extensions\ms-vscode-remote.remote-containers-0.234.0\dist\spec-node\devContainersSpecCLI.js up --user-data-folder c:\Users\engel\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data --container-data-folder .vscode-server/data/Machine --container-system-data-folder /var/vscode-server --workspace-folder c:\xampp\htdocs\webScraper --workspace-mount-consistency cached --id-label vsch.local.folder=c:\xampp\htdocs\webScraper --id-label vsch.quality=stable --log-level debug --log-format json --config c:\xampp\htdocs\webScraper\.devcontainer\devcontainer.json --default-user-env-probe loginInteractiveShell --remove-existing-container --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[17227 ms] Exit code 1

And this is how my dockerfile looks like:

FROM php:8.1-apache as dev

ENV DEBIAN_FRONTEND=noninteractive
ENV APP_ENV=development

WORKDIR /var/www/html

RUN apt-get update \
  && apt-get -y install --no-install-recommends apt-utils zip unzip nano ncdu 2>&1 \
    && apt-get -y install --no-install-recommends python graphviz 2>&1 \
  && apt-get -y install git iproute2 procps lsb-release \
  && apt-get install -y -qq software-properties-common \
  && apt-get install -y -qq wget git lynx ack-grep \
  && yes | pecl install xdebug \
  && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
    && apt-get -y install libicu-dev \
    && docker-php-ext-install intl pdo_mysql opcache \
    && pecl install apcu && docker-php-ext-enable apcu \
    && echo "apc.enable_cli=1" > /usr/local/etc/php/php.ini \
    && echo "apc.enable=1" > /usr/local/etc/php/php.ini \
  && echo "post_max_size = 100M" > /usr/local/etc/php/php.ini \
    && a2enmod rewrite \
  && apt-get autoremove -y \
  && apt-get clean -y \
  && rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install gnupg2 -y

RUN rm -rf /etc/apache2/sites-enabled \
    && ln -s /var/www/html/.devcontainer/sites-enabled /etc/apache2/sites-enabled

RUN echo 'alias ll="ls -la --color=auto"' >> ~/.bashrc && \
    echo "alias ack='ack-grep'" >> ~/.bashrc

RUN chown www-data:www-data -R ./

ENV DEBIAN_FRONTEND=dialog



and my docker-compose.yml:

version: '3'
services:
  web:
    container_name: dockeryii
    build:
      context: ..
      dockerfile: dockerfile
      target: dev
    volumes:
      - ../:/var/www/html       
    command: /bin/sh -c "service apache2 start && while sleep 1000; do :; done"
  db:
    container_name: dockeryiimysql
    image: mysql:latest
    volumes:
      - dockeryiimysql:/var/lib/mysql
    expose:
      - 3306
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
      MYSQL_DATABASE: sdi      
  phpmyadmin:  
    container_name: dockeryiipma
    image: phpmyadmin:latest
    environment:
      UPLOAD_LIMIT: 300M
      PMA_ARBITRARY: 1
      APACHE_HTTP_PORT_NUMBER: 8080
    ports:
      - 8080:8080
    command: /bin/bash -c "sed -i \"s/80/$APACHE_HTTP_PORT_NUMBER/g\" /etc/apache2/sites-available/000-default.conf /etc/apache2/ports.conf && /docker-entrypoint.sh apache2-foreground"

volumes:
  dockeryiimysql: {}

and my devcontainer.json:

{
  "name": "Dockeryii",
  "dockerComposeFile": ["docker-compose.yml"],
  "service": "web",
  "shutdownAction": "none",
  "extensions": ["felixfbecker.php-debug",
        "zobo.php-intellisense",
        "mrmlnc.vscode-apache"],
  "forwardPorts": [80],
  "workspaceFolder": "/var/www/html",
  "settings": { 
        "php.validate.executablePath": "/usr/local/bin/php"
    }
}

So my question is: What I have to change?

Thank you

if I do this:

docker-compose -f C:\xampp\htdocs\webScraper\.devcontainer\docker-compose.yml config

I just get the output of de file: docker-compose.yml.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

独自←快乐 2025-02-06 06:00:32
  • Docker-Compose -f/path/to/docker-compose.yml config仅验证并查看撰写文件。
  • 尝试手动构建和运行您的容器(无VSCODE的DEVCONTAINER)检查每个dockerfile是否有效,因为您的docker-compose.yml在语法上有效,否则支持
  • 此处是< a href =“ https://code.visualstudio.com/docs/remote/troubleshooting#_container-tips” rel =“ nofollow noreferrer”> vscode提示有关故障排除DevConainter
  • docker-compose -f /path/to/docker-compose.yml config only validate and view the Compose file.
  • Try to building and running your containers manually (without vscode's devcontainer) to check if every Dockerfile are valid as your docker-compose.yml is syntactically valid and supported
  • Else here is vscode tips about troubleshooting devconainter
不语却知心 2025-02-06 06:00:32

Oke。对我来说工作的是:

docker-compose down

然后在vs代码中工作。

Oke. What workded for me was:

docker-compose down

And then in vs code it worked.

酒中人 2025-02-06 06:00:32

Docker上下文有些问题,用于更改CLI上下文。您可以删除其他上下文,但要保留本地的上下文,或直接删除可以位于路径上的元文件。

Something is wrong with your docker context which is used for changing CLI context. you can remove other contexts but keep the local one, or remove meta.json file directly which can be located at path like ~/.docker/contexts/meta/fe9c6bd7a66301f49ca9b6a70b217107cd1284598bfc254700c989b916da791e/meta.json

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文