gpt4 book ai didi

ubuntu - 保存当前正在运行的 redmine docker 更改以重用

转载 作者:行者123 更新时间:2023-12-04 19:13:23 26 4
gpt4 key购买 nike

我是 docker 新手,并且已经运行了一个生产 redmine docker,我已经对其进行了更改(主要是 js、css 和 html 来对其进行一些自定义)。
我对它现在的外观非常满意,但是由于我在启动它时缺乏知识,我错过了一些我现在想添加的东西,例如邮件服务器并将我的整个应用程序指向一个子域而不是目前正在播放的主要内容。
以下是我的问题:

我首先使用以下命令运行图像:

docker run -p 80:80 --name=redmine --rm --link=mysql-redmine:mysql /
--volume=/srv/docker/redmine/redmine:/home/redmine/data sameersbn/redmine:3.4.2

从那以后我所做的就是 docker restart查看 HTML 更改,但我对重新运行它没有信心,因为它不会保存这些更改,对吗?

每次运行时是否都需要 env 变量,或者有一种方法可以将它们保存在我的镜像中,以便始终在相同的端口和 MySQL DB 上简单地运行镜像?我查看了正在运行的 docker 文件,并且 database.yml 在第一次运行期间传递了正确的配置,但我真的不知道它们是否被保存以供下次运行。

最后一个:我知道我可以将此图像提交到自定义图像以保存一些更改,但同样,我真的不知道其中哪些已保存,哪些未保存。 ¿ 运行时的环境是否在提交时保存?

希望您能提供帮助,文档不是很清楚,也不是很广泛,解决方法通常基于非常具体的案例,这些案例并不能真正回答我的所有问题。

另外,我知道 Docker 文件,但对它和运行命令也有同样的疑问。

多谢你们!

最佳答案

您对容器所做的更改,例如:添加新软件包(如电子邮件服务器)、添加 vi/nano 或其他软件包 不会持久这意味着每次您 停止开始您更改的容器将是 丢失你必须重新做。

为了使它们持久化,您必须创建一个 Dockerfile在那里你可以指定来自 指令,例如:

FROM "sameersbn/redmine:3.4.2"

在此 Dockerfile 中,您必须指定其他包,例如:
RUN apt-get update && apt-get install xyz

这将安装所需的软件包

然后你必须构建图像:
docker build -t my_new_image:1.0.0 .

这将创建一个安装了所需软件包的新镜像,因此您不会丢失它们。

此外,您可以使用 添加您的 HTML 文件。复制 添加命令或您当前正在使用的

最后,每次一个好的解决方案是使用 docker-compose file 时,都必须始终传递 ENV 变量。它将包含运行容器的所有内容。

希望这可以帮助。

关于ubuntu - 保存当前正在运行的 redmine docker 更改以重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47198098/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com