Docker-构建环境

时间:2019-03-21 15:21:10

标签: docker docker-compose dockerfile

经过数小时的谷歌搜索,我只是找不到我想要的东西。

我想知道我是否可以对Docker进行以下操作:具有可以在团队中的一组开发人员之间部署和共享的单独Docker文件。

例如:

  • 容器1-安装内腔,也可以通过命令行同时安装反应堆。我们的大多数项目都是流明,有些也需要安装react / typescript。 (也可以使用npm install)

  • 容器2-带有或不带有数据的MYSQL / MariaDB。我了解您可以在单独的容器中存储数据。如果可以将数据分开,我不介意在容器1中使用MySQL等。

这个想法是容器1可以交换出来,因为它们代表了不同的项目,但是DB数据可以是一个单独的容器,因此我们都可以拥有自己的容器2副本,并且无论出于什么原因它都会损坏。我们可以重新使用它。

1 个答案:

答案 0 :(得分:1)

在Docker中,您具有不同的对象: -Dockerfile,它是用于构建映像的文件 -映像,这是使用映像定义(例如Dockerfile)进行构建的结果 -容器,基本上是运行映像 -注册表,您可以在其中存储图像并与他人共享的地方

因此,对于您的用例,您有不同的解决方案,但是如果我了解您的需求,您想与团队共享一个包含流明和一些npm软件包的图像吗?如果是这样,您可以构建它并将其推送到注册表中。

您的团队可以按原样使用它,或根据此图像构建自定义图像。

对于mysql / mariadb容器,您可以使用基础映像并在/docker-entrypoint-initdb.d中添加初始化脚本(sql或sh文件)。

如果破坏数据库,则只能删除容器及其卷,然后重新启动。