簡體   English   中英

docker 中的 Docker:docker 運行 hello-world 錯誤操作不允許

[英]Docker in docker : docker run hello-world error operation not permitted

我收到一條消息“docker: failed to register layer: ApplyLayer exit status 1 stdout: stderr: Error created mount namespace before pivot: operation not allowed。” 當我嘗試運行 hello-world 時。

我找不到什么問題..

[步]

  1. 在windows10上安裝docker桌面
  • Docker 版本 20.10.12
  1. docker 運行 -it --特權 ubuntu:18.04

  2. 在 ubuntu:18.04 上安裝 docker

  • Docker 版本 19.03.9
  1. docker 運行你好世界
  • docker:注冊層失敗:ApplyLayer 退出狀態 1 標准輸出:標准錯誤:在 pivot 之前創建安裝命名空間時出錯:不允許操作。

在容器內運行 docker 命令有很多更簡單的方法:

  • 在 docker UNIX 插座或人們所說的 docker 上使用DooD
run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker ubuntu:20.04

運行此命令后,您可以嘗試運行 docker 命令,它會正常工作,但請記住!

這與從主機運行命令的作用相同

  • 在 docker 或通常稱為DinD
docker run -d --privileged --name docker \
    -e DOCKER_TLS_CERTDIR=/certs \
    -v docker-certs-ca:/certs/ca \
    -v docker-certs-client:/certs/client \
    docker:dind

然后您可以在該容器內執行 dood 命令運行:

docker exec -it dood sh

這對您來說是一個很好的選擇,因為它重量輕且易於設置!

你可以在這里找到更多。

In case you insist to use the Ubuntu:18.04 and installing docker inside of it, I would first say you haven't specified how you installed docker it should probably work if you followed how to install Docker on a Ubuntu machine , could be some volume安裝問題也是如此,您可以在創建 ubuntu 容器后嘗試運行這些命令,或者只使用Dockerfile

apt-get update &&\
apt-get install curl &&\
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - &&\
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" &&\
apt-cache policy docker-ce &&\
apt-get install -y docker-ce

然后運行 docker 命令必須正常工作,除非您有一些網絡問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM