你好,我找到了一个叫做 Project Chrono 的程序,在他们的下载页面上说我需要从 docker 中拉取它,所以我首先使用 snap 安装了 docker,然后继续安装它,
sudo docker pull uwsbel/projectchrono:latest
我尝试再次运行命令,得到的结果如下
latest: Pulling from uwsbel/projectchrono Digest: sha256:d3b2046318a08845189ee1241136a03d0b80242b5a50977b338afea375ec34be Status: Image is up to date for uwsbel/projectchrono:latest docker.io/uwsbel/projectchrono:latest
但当我尝试时sudo docker run projectchrono
似乎找不到文件,如下所示
Unable to find image 'projectchrono:latest' locally docker: Error response from daemon: pull access denied for projectchrono, repository does not exist or may require 'docker login': denied: requested access to the resource is denied. See 'docker run --help'.
我怎样才能运行该程序?
答案1
它实际上就在链接页面的 Linux 说明中:
docker pull uwsbel/projectchrono:latest
您总是需要在运行之前先拉取(docker compose 文件使这两个步骤更容易),并且说明告诉您在运行之前先拉取,指定首先运行上述命令。
您也可以这样做,这应该有效:
docker run uwsbel/projectchrono:latest
这将告诉 Docker 从 Docker 存储库运行镜像,如果镜像不可用,则将其拉出。然后应该执行它。
如果您不使用全名作者/程序,则裸命名 docker 镜像将不起作用 - 否则它只会尝试测试本地镜像。
Docker 容器本身存在错误,需要上游开发人员更新其 Dockerfile 来修复此问题。程序locales
未安装,并且所需的语言环境en_US.UTF-8
未在 Docker 映像中正确生成。这会导致以下警告:
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
这些不一定批判的错误,但是我们在这里无法做任何事情来解决这个问题——上游开发人员需要更新他们的 Dockerfile,以便在为此构建 docker 镜像时能够正确设置语言环境。