docker 和 portainer - 使用它来创建容器

docker 和 portainer - 使用它来创建容器

我仍在尝试通过 Portainer 的帮助来理解 docker 的一些事情,但我找不到教程:

1 - 持久数据:我想运行带有持久数据库的 Mariadb 容器。因此,我想在我的 中添加一个带有挂载点的卷“db” /home/user。不幸的是,挂载点始终在/var/lib/docker/volumesetc 中。该怎么做?

2 - 链接:假设我成功运行带有持久数据库的 mysql 容器,我想将 nginx 容器(带有持久数据/home/mountpoint:/data/www)链接到带有环境变量的 mysql 容器(例如使用 docker compose:https://github.com/dadeg/docker-compose-nginx-php7-mysql/blob/master/docker-compose.yml)。我注意到网络选项,但我认为它无济于事……如何链接容器并创建具有更多环境变量的模板?

Docker-compose 可能是一种更好的方法吗?

预先感谢您的任何帮助。

答案1

当您通过 Docker 或 Portainer 创建卷时,默认情况下该卷将存储在/var/lib/docker/volumes主机上。所以这是默认的正确行为。

如果要绑定db通过 Portainer 调用的卷,请先创建一个卷。然后进入容器 > 添加容器 > 在此处指定您的名称/图像 > 在卷选项卡中,您将能够将刚刚创建的卷绑定到容器中的路径。

现在,关于 Ningx 和数据库之间的链接。我建议您在这里利用 Docker 网络的 DNS。

首先,创建一个新网络(my-app例如,将其命名为)。然后,在此网络中部署数据库和 Nginx 容器。Docker DNS 将自动使同一网络内的容器能够使用其容器名称进行通信。因此,如果您已将数据库容器db和 Nginx 容器命名为nginx,那么您将能够db从中进行 ping 操作nginx,反之亦然。

相关内容