visual-studio-code - 关于在 Container GitHub Codespaces 上使用 docker-compose
问题描述
早上好我的朋友们
关于在 Container GitHub Codespaces 上使用 docker-compose
由于多语言支持,我使用“GitHub Codespaces”进行容器开发,并希望使用 docker-compose 添加 mongodb
我尝试如下,
使用以下示例作为基础
在“.devcontainer”目录中
添加了“docker-compose.yml”文件,内容如下
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
我编辑了“.devcontainer/devcontainer.json”文件
我删除了摘录
"build": {
"dockerfile": "Dockerfile"
},
并添加
"dockerComposeFile": "docker-compose.yml",
"service": "app",
"workspaceFolder": "/workspace",
构建开发容器时返回以下错误
ea8).
[119 ms] Start: Resolving Remote
[128 ms] Setting up container for folder or workspace: /home/marcio/dados/acid-workflow-02
[131 ms] Start: Check Docker is running
[131 ms] Start: Run: docker version --format {{.Server.APIVersion}}
[186 ms] Server API version: 1.41
[198 ms] Start: Run: docker-compose version --short
[705 ms] Start: Run: docker ps -q -a --filter label=com.docker.compose.project=acid-workflow-02_devcontainer --filter label=com.docker.compose.service=app
[749 ms] Start: Run: docker-compose -f /home/marcio/dados/acid-workflow-02/.devcontainer/docker-compose.yml config
[1243 ms] services:
app:
build:
context: /home/marcio/dados/acid-workflow-02/.devcontainer
dockerfile: Dockerfile
version: '3.0'
[1243 ms]
[1244 ms] Start: Run: docker -v
[1283 ms] Start: Run: docker events --format {{json .}} --filter event=start
[1288 ms] Start: Run: docker-compose --project-name acid-workflow-02_devcontainer -f /home/marcio/dados/acid-workflow-02/.devcontainer/docker-compose.yml build
Building app
Step 1/29 : FROM mcr.microsoft.com/vscode/devcontainers/universal:1-focal
---> 6f68ac61f636
Step 2/29 : USER root
---> Using cache
---> 416135f1e190
Step 3/29 : RUN apt-get update && export DEBIAN_FRONTEND=noninteractive && apt-get -y install --no-install-recommends jq
---> Using cache
---> fb937be159ec
Step 4/29 : RUN curl https://cli-assets.heroku.com/install.sh | sh
---> Using cache
---> 4c3b8f453f15
Step 5/29 : USER codespace
---> Using cache
---> 6de253fb7551
Step 6/29 : RUN npm install -g netlify-cli
---> Using cache
---> 6fb737d3ffa9
Step 7/29 : RUN npm install -g vercel
---> Using cache
---> Using cache
---> fcaf92d1d59b
Step 28/29 : RUN git config --global user.name "gmail"
---> Using cache
---> a5a33ea9a51e
Step 29/29 : RUN git config --global user.email "gmail@gmail.com"
---> Using cache
---> bad17207e1d1
Successfully built bad17207e1d1
Successfully tagged acid-workflow-02_devcontainer_app:latest
[1996 ms] Start: Run: docker inspect --type image acid-workflow-02_devcontainer_app
[2051 ms] Start: Run: docker build -f /tmp/vsch/updateUID.Dockerfile-0.191.0 -t vsc-acid-workflow-02-60ab5310082db6cd686579e8f1b62f88-uid --build-arg BASE_IMAGE=acid-workflow-02_devcontainer_app --build-arg REMOTE_USER=codespace --build-arg NEW_UID=1000 --build-arg NEW_GID=1000 --build-arg IMAGE_USER=codespace /tmp/vsch
Sending build context to Docker daemon 61.03MB
Step 1/10 : ARG BASE_IMAGE
Step 2/10 : FROM $BASE_IMAGE
---> bad17207e1d1
Step 3/10 : USER root
---> Using cache
---> b1345a3b3a81
Step 4/10 : ARG REMOTE_USER
---> Using cache
---> a8ca68a8a1e3
Step 5/10 : ARG NEW_UID
---> Using cache
---> 760086d28c88
Step 6/10 : ARG NEW_GID
---> Using cache
---> 2155a053cc53
Step 7/10 : SHELL ["/bin/sh", "-c"]
---> Using cache
---> 23633c57bbc3
Step 8/10 : RUN eval $(sed -n "s/${REMOTE_USER}:[^:]*:\([^:]*\):\([^:]*\):[^:]*:\([^:]*\).*/OLD_UID=\1;OLD_GID=\2;HOME_FOLDER=\3/p" /etc/passwd); eval $(sed -n "s/\([^:]*\):[^:]*:${NEW_UID}:.*/EXISTING_USER=\1/p" /etc/passwd); eval $(sed -n "s/\([^:]*\):[^:]*:${NEW_GID}:.*/EXISTING_GROUP=\1/p" /etc/group); if [ -z "$OLD_UID" ]; then echo "Remote user not found in /etc/passwd ($REMOTE_USER)."; elif [ "$OLD_UID" = "$NEW_UID" -a "$OLD_GID" = "$NEW_GID" ]; then echo "UIDs and GIDs are the same ($NEW_UID:$NEW_GID)."; elif [ "$OLD_UID" != "$NEW_UID" -a -n "$EXISTING_USER" ]; then echo "User with UID exists ($EXISTING_USER=$NEW_UID)."; elif [ "$OLD_GID" != "$NEW_GID" -a -n "$EXISTING_GROUP" ]; then echo "Group with GID exists ($EXISTING_GROUP=$NEW_GID)."; else echo "Updating UID:GID from $OLD_UID:$OLD_GID to $NEW_UID:$NEW_GID."; sed -i -e "s/\(${REMOTE_USER}:[^:]*:\)[^:]*:[^:]*/\1${NEW_UID}:${NEW_GID}/" /etc/passwd; if [ "$OLD_GID" != "$NEW_GID" ]; then sed -i -e "s/\([^:]*:[^:]*:\)${OLD_GID}:/\1${NEW_GID}:/" /etc/group; fi; chown -R $NEW_UID:$NEW_GID $HOME_FOLDER; fi;
---> Using cache
---> 13f0fd916a8d
Step 9/10 : ARG IMAGE_USER
---> Using cache
---> 16efb921b17e
Step 10/10 : USER $IMAGE_USER
---> Using cache
---> a4f84f89a8f3
Successfully built a4f84f89a8f3
Successfully tagged vsc-acid-workflow-02-60ab5310082db6cd686579e8f1b62f88-uid:latest
[2583 ms] Start: Run: docker-compose --project-name acid-workflow-02_devcontainer -f /home/marcio/dados/acid-workflow-02/.devcontainer/docker-compose.yml -f /tmp/docker-compose.devcontainer.containerFeatures-1629128082328.yml up -d
Creating network "acid-workflow-02_devcontainer_default" with the default driver
Creating acid-workflow-02_devcontainer_app_1 ... done
[3947 ms] Start: Run: docker ps -q -a --filter label=com.docker.compose.project=acid-workflow-02_devcontainer --filter label=com.docker.compose.service=app
[4001 ms] Start: Run: docker inspect --type container 590ec81579fc
[4214 ms] Start: Inspecting container
[4214 ms] Start: Run: docker inspect --type container 590ec81579fc8789b6cdc99cbeabc2cfd6578c61ad56f00ca74b341bec48c75f
[4281 ms] Start: Run in container: /bin/sh
[4298 ms] Start: Run in container: uname -m
[4425 ms] Start: Run in container: cat /etc/passwd
[4425 ms] Stdin closed!
[4429 ms] Shell server terminated (code: 1, signal: null)
Error response from daemon: Container 590ec81579fc8789b6cdc99cbeabc2cfd6578c61ad56f00ca74b341bec48c75f is not running
如果您能提供帮助,请提前感谢您
解决方案
推荐阅读
- ios - defer 语句的不同行为
- node.js - 如何使用 ckeditor 在 mongoose-node 应用程序中上传图像。文件将上传到 s3
- qt - 使用 QMediaplayer 从缓冲区播放视频并在视频播放时附加缓冲区
- c# - 从字符串中删除 HTML -- 注释
- ios - 我可以使用 Siri Shortcut 更改变量的值吗?
- javascript - 为什么我的 add like 方法返回“无法读取未定义的属性”?
- swift - 如何从另一个类更改一个类中声明的变量值?
- java - 有没有办法将格式化的 BigDecimal 数字分配给 BigDecimal?
- c# - 单词。不带对话框窗口另存为 PDF
- angularjs - 单一水疗中心的替代品