Mac 的开发环境设置和使用 Docker 的 CentOS
Development environment setup for Mac and CentOS using Docker
我稍微搜索了一下历史,但没有找到好的答案。所以我只是在这里问我的问题。如果已经有好的答案,请帮我重定向。谢谢。
问题是,我发现我公司的新员工文档列出了一堆要安装的软件来设置开发环境。新员工通常需要 1 或 2 天的时间来为新 mac 设置好一切。我们想缩短这个过程。我第一个想到的是Docker。
我通读了 Docker 的用户指南,并关注了一些关于如何使用 Docker 设置开发环境的博客,但如果 Docker 适用于我们的设置,我仍然有点困惑。所以这里是要求的详细信息:
我们需要安装一堆软件(其中很多是定制的二进制文件)。现在,我们分发源代码,新员工需要从源代码构建、安装它并设置环境以将二进制文件包含到路径中。我想知道 Docker 是否允许我们将自定义二进制文件安装到它的容器中?
源代码不应该留在容器中。源代码仍然在本地 machine 中使用 git 检出。那么,我如何依赖 Docker 容器的环境来构建我的软件呢?我查了一下是,你需要把你的文件夹mount到容器里,然后shell到你的容器里去build?是这样吗?
我们通常在mac开发,Docker是否也支持mac容器,或者它只允许你运行Linux使用 boot2Docker 的容器?
非常感谢您的帮助。
如果目标是加快 Mac 设置并在您的环境中可用,您可能需要查看 Boxen。
来自 "About" 部分:
"Boxen is your team's IT robot. It's a dangerously opinionated framework that automates every piece of your development environment. GitHub, Inc. wrote the first version of Boxen (imaginatively called “The Setup”) to help employees start shipping on day one."
一些答案:)
首先,我认为使用 Docker 来标准化开发配置(软件、自定义包、环境变量...)是一个非常好的主意。
- 使用 Docker,您可以从主机获取自定义二进制文件,这不是问题。使用 CMD 命令,您可以使用 bash 安装它们并将它们添加到您的 PATH 中。您还可以编写一个 shell 脚本来安装所有东西并在构建容器时启动此脚本
- 您的代码将在主机上,您可以使用 -v 命令在 docker 图像中 "mount" 一个主机文件夹。例如:docker 运行 -v /home/user/code:/tmp/code your_image。我将在下面详细说明开发人员将如何使用您的 Docker 图片。
- 是的,你必须使用 Boot2Docker,它运行良好
一旦您的开发映像准备就绪,您必须将其发布到官方 Docker 注册表(或在您的网络上托管本地注册表)。
接下来,开发人员将启动以下 Docker 命令:
docker 运行 -rm -ti your_build_image /bin/bash
这将在您的 Docker 映像中启动一个 bash 终端,开发人员将能够编译代码。例如:cd /tmp/code + mvn clean install
请查看这篇文章以了解卷:http://jam.sg/blog/mongodb-docker-part-2/
这一个关于 Docker 文件:https://www.digitalocean.com/community/tutorials/docker-explained-using-dockerfiles-to-automate-building-of-images
您还可以在 github 上找到很多 Docker 文件(搜索 Docker 文件)。
我稍微搜索了一下历史,但没有找到好的答案。所以我只是在这里问我的问题。如果已经有好的答案,请帮我重定向。谢谢。
问题是,我发现我公司的新员工文档列出了一堆要安装的软件来设置开发环境。新员工通常需要 1 或 2 天的时间来为新 mac 设置好一切。我们想缩短这个过程。我第一个想到的是Docker。
我通读了 Docker 的用户指南,并关注了一些关于如何使用 Docker 设置开发环境的博客,但如果 Docker 适用于我们的设置,我仍然有点困惑。所以这里是要求的详细信息:
我们需要安装一堆软件(其中很多是定制的二进制文件)。现在,我们分发源代码,新员工需要从源代码构建、安装它并设置环境以将二进制文件包含到路径中。我想知道 Docker 是否允许我们将自定义二进制文件安装到它的容器中?
源代码不应该留在容器中。源代码仍然在本地 machine 中使用 git 检出。那么,我如何依赖 Docker 容器的环境来构建我的软件呢?我查了一下是,你需要把你的文件夹mount到容器里,然后shell到你的容器里去build?是这样吗?
我们通常在mac开发,Docker是否也支持mac容器,或者它只允许你运行Linux使用 boot2Docker 的容器?
非常感谢您的帮助。
如果目标是加快 Mac 设置并在您的环境中可用,您可能需要查看 Boxen。
来自 "About" 部分: "Boxen is your team's IT robot. It's a dangerously opinionated framework that automates every piece of your development environment. GitHub, Inc. wrote the first version of Boxen (imaginatively called “The Setup”) to help employees start shipping on day one."
一些答案:)
首先,我认为使用 Docker 来标准化开发配置(软件、自定义包、环境变量...)是一个非常好的主意。
- 使用 Docker,您可以从主机获取自定义二进制文件,这不是问题。使用 CMD 命令,您可以使用 bash 安装它们并将它们添加到您的 PATH 中。您还可以编写一个 shell 脚本来安装所有东西并在构建容器时启动此脚本
- 您的代码将在主机上,您可以使用 -v 命令在 docker 图像中 "mount" 一个主机文件夹。例如:docker 运行 -v /home/user/code:/tmp/code your_image。我将在下面详细说明开发人员将如何使用您的 Docker 图片。
- 是的,你必须使用 Boot2Docker,它运行良好
一旦您的开发映像准备就绪,您必须将其发布到官方 Docker 注册表(或在您的网络上托管本地注册表)。
接下来,开发人员将启动以下 Docker 命令: docker 运行 -rm -ti your_build_image /bin/bash
这将在您的 Docker 映像中启动一个 bash 终端,开发人员将能够编译代码。例如:cd /tmp/code + mvn clean install
请查看这篇文章以了解卷:http://jam.sg/blog/mongodb-docker-part-2/
这一个关于 Docker 文件:https://www.digitalocean.com/community/tutorials/docker-explained-using-dockerfiles-to-automate-building-of-images
您还可以在 github 上找到很多 Docker 文件(搜索 Docker 文件)。