docker - 无法在 Ubuntu 18.04 LTS 上运行 pgadmin4 docker

标签 docker ubuntu ubuntu-18.04 pgadmin pgadmin-4

你好 StackOverflowers,

我正在尝试安装 pgadmin4使用 DockerUbuntu 18.04 LTS ,但是每次我创建一个容器时它都会崩溃。

这是我使用的命令:

docker run -p 8082:80 --name pgadmin_server \
-e 'PGADMIN_DEFAULT_EMAIL=user@domain.com' \
-e 'PGADMIN_DEFAULT_PASSWORD=password' \
 dpage/pgadmin4

这是我得到的结果
standard_init_linux.go:211: exec user process caused "exec format error"

当我运行 docker container ls -a ,这就是我得到的。我的容器已关闭
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                    NAMES
034b89accaae        dpage/pgadmin4      "/entrypoint.sh"         5 minutes ago       Exited (1) 4 minutes ago                            pgadmin_server
1e660903663e        postgres:9.2        "docker-entrypoint.s…"   48 minutes ago      Up 48 minutes              0.0.0.0:5432->5432/tcp   postgres_container

这是我使用的 docker 版本:
Docker version 19.03.6, build 369ce74a3c

顺便说一句,我在 32 位机器上运行 Ubuntu 18.04 LTS

谢谢您的帮助

最佳答案

当您在本地构建镜像时,默认情况下它将为与本地主机相同的架构构建。由于现在大多数 x86 系统都是 64 位系统(以至于许多发行版已经放弃了对 32 位 x86 架构的支持),这意味着您找到的绝大多数图像只能在 x86_64 系统上运行。

在“官方”镜像中找到多架构支持更为常见:

Most of the official images on Docker Hub provide a variety of architectures. For example, the busybox image supports amd64, arm32v5, arm32v6, arm32v7, arm64v8, i386, ppc64le, and s390x. When running this image on an x86_64 / amd64 machine, the x86_64 variant will be pulled and run.



(该报价来自以下链接)

虽然有support for building multi-architecture images ,这需要构建图像的人进行显式配置。

我不相信 Docker 提供任何工具来方便地探索给定图像的支持架构。您可以使用 skopeo工具来做到这一点,虽然过程仍然有点不明显。要查看多架构镜像的架构列表,我们需要使用 --raw选项:
$ skopeo inspect --raw docker://busybox | python -mjson.tool | grep -i architecture
                "architecture": "amd64",
                "architecture": "arm",
                "architecture": "arm",
                "architecture": "arm",
                "architecture": "arm64",
                "architecture": "386",
                "architecture": "mips64le",
                "architecture": "ppc64le",
                "architecture": "s390x",

对于单一架构图像,以上将不会产生任何结果;在这种情况下,删除 --raw查看架构:
$ skopeo inspect docker://dpage/pgadmin4 | python -mjson.tool | grep -i architecture
    "Architecture": "amd64",

关于docker - 无法在 Ubuntu 18.04 LTS 上运行 pgadmin4 docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61551919/

相关文章:

linux - 无法在 ubuntu 18.04 中为各种串行传感器读取 USB 到串行输入

docker - docker build 会运行两次命令吗?

docker - Docker-Compose-服务器公开了多个端口,但是客户端中只有一个端口不可访问

python - 使用 Anaconda 安装 Scran 包时出错

java - 如何让 Java API Javadocs 出现在 Ubuntu 的 Eclipse 中

java - 您可以在 Ubuntu 18.04.3 "bionic"上使用 GCP 上的 OpenJDK 将 rundeck 直接从 3.0.22 升级到 3.2.1 吗?

docker - 无法使用 RabbitMQ 集群 Kubernetes operator 创建 RabbitMQ 实例

docker - xvfb-run 卡在容器中

linux - Lazarus Indy SSL IdHTTP

ubuntu-18.04 - WSL手动安装服务还未启动