理解 Docker 存在问题

理解 Docker 存在问题

我有一台运行 X86_64 Linux 版本的 Synology NAS。我在 NAS 上安装了 Docker(17.05)。但是,我还没有找到可以安装到 Docker 中的 Ubuntu 映像。我继续https://hub.docker.com/_/ubuntu官方镜像应该存放在这里,但我找不到任何可以提供给 Docker 的东西,无论是 HUB URL 还是 Repository URL——都没有用。现在我确信这个问题都是我的问题,但我已经把所有的帮助文件读了至少五遍,它还是从 Ubuntu 官方镜像跳转到在 Linux 上运行 Docker,这无助于解决我的困惑。我还没有在 Docker hub 上找到任何可以使用的东西,我在 Google 上搜索了一整天,却一无所获。

我的最终目标是,如果一切顺利,在 Docker 中安装 Ubuntu 或任何 Linux,然后我需要以某种方式安装 PostgreSQL——但我认为这会安装到 Linux 映像中?最终我想安装 Odoo。这整个任务是因为我可以在 NAS 上使用的唯一 Odoo 版本是 Odoo 8,并且它有一个严重的致命问题,所以我想将 Odoo 安装到 Docker 中——但我很确定我需要先安装 Linux。

我对此束手无策。我知道这对我来说是一个学习过程,但我只需要帮助指明正确的方向,也许还需要一些例子。

答案1

您误将 Docker 视为虚拟机系统。Docker 容器只是主机的一个普通进程,唯一的区别是它以气泡形式运行,拥有自己的文件(所有文件、/etc、/usr 等...),就像它们在 Docker 镜像中显示的那样

因此,您不需要在 docker 中安装 Linux,而是将文件添加到现有映像(在某些情况下,该映像可以包含来自发行版的大多数文件,因此您可以使用apt installDockerFile 中的命令将文件添加到其中)。

因此,如果您想在 Docker 容器中运行 Odoo,请创建一个 Dockerfile,内容如下:

FROM ubuntu:latest # start with some distro image
RUN apt install odoo # install Odoo using the distro's repositories
CMD odoo # start odoo

(要检查的发行版/软件包的实际名称)

你可以用它创建一个图像:

docker build -t odoo .  # creates an odoo:latest image

然后你可以使用以下方式使用该图像:

docker run odoo # with more option to define volumes (persistent files), ports used, etc...

相关内容