经过数小时的谷歌搜索,我只是找不到我想要的东西。
我想知道我是否可以对Docker进行以下操作:具有可以在团队中的一组开发人员之间部署和共享的单独Docker文件。
例如:
容器1-安装内腔,也可以通过命令行同时安装反应堆。我们的大多数项目都是流明,有些也需要安装react / typescript。 (也可以使用npm install)
容器2-带有或不带有数据的MYSQL / MariaDB。我了解您可以在单独的容器中存储数据。如果可以将数据分开,我不介意在容器1中使用MySQL等。
这个想法是容器1可以交换出来,因为它们代表了不同的项目,但是DB数据可以是一个单独的容器,因此我们都可以拥有自己的容器2副本,并且无论出于什么原因它都会损坏。我们可以重新使用它。
答案 0 :(得分:1)
在Docker中,您具有不同的对象: -Dockerfile,它是用于构建映像的文件 -映像,这是使用映像定义(例如Dockerfile)进行构建的结果 -容器,基本上是运行映像 -注册表,您可以在其中存储图像并与他人共享的地方
因此,对于您的用例,您有不同的解决方案,但是如果我了解您的需求,您想与团队共享一个包含流明和一些npm软件包的图像吗?如果是这样,您可以构建它并将其推送到注册表中。
您的团队可以按原样使用它,或根据此图像构建自定义图像。
对于mysql / mariadb容器,您可以使用基础映像并在/docker-entrypoint-initdb.d
中添加初始化脚本(sql或sh文件)。
如果破坏数据库,则只能删除容器及其卷,然后重新启动。