<p>Docker is going to be far more well-known than Mock. I consistently see Docker used during build in companies that I work for. I think I have seen Mock before, but only because I am a Fedora user.</p>

<p>However, Docker is not a build tool in of itself, so you can still use Mock inside a container. This is a great way to avoid the "snowflake" build server. By using Docker containers, your builds are consistent no matter what build tool you are using. You can standardise on Docker as a platform for builds, and leave developers to choose the best build tool (whether that's Mock or NPM).</p>

<p>The only other suggestion I'd have is to run the builds on a CI server, and Docker makes this really easy.</p>

<p>Here's <a href="https://amaysim.engineering/the-3-musketeers-how-make-docker-and-compose-enable-us-to-release-many-times-a-day-e92ca816ef17" rel="nofollow noreferrer">one example of a company using Docker for builds</a> (as well as tests and deploys).</p>

CC BY-SA 4.0
2018-12-20T23:25:14.637Z
2018-12-29T07:06:52.220Z
2018-12-29T07:06:52.220Z
user2640621
<p><strong>This post is migrated from a <a href="https://www.reddit.com/r/devops/comments/838qm0/build_desgin_docker_vs_fedoras_mock/" rel="noreferrer">reddit post</a>.  Parts in bold are to adopt it to SE's format.</strong></p>

<p>I'm talking with companies to help streamline/combine their build process.  They must do it together and their current processes are scary.  We've convinced them to go with AWS/jenkins/bitbucket/artifactory.  </p>

<p>Now one company wants to use <a href="https://github.com/rpm-software-management/mock/wiki" rel="noreferrer">fedora's mock</a> for their build environment deps <strong>and</strong> build artifact management.  Another wants to use <a href="https://www.docker.com/" rel="noreferrer">docker</a> for their build environment but <strong>does not</strong> have a build artifact solution yet.</p>

<p>I suggested a combination of docker (for build env deps) and mock (for product related artifacts and deps) to both.  They scoffed at it.  BTW one of the products is a custom rhel .iso.</p>

<ul>
<li><p>What are the pros/cons for mock vs docker in the way the two companies are debating using them?   </p></li>
<li><p>What about pros/cons for my proposal.. or if it is even a smart thing to do?</p></li>
<li><p>Any other suggested tools/build flow that may work better?</p></li>
</ul>

<p><strong>Ultimately I am interested in what is the best practice/most adopted method for doing this (build env deps mgmt/product artifact dep mgmt) in the industry that will have continued support and advancements?</strong></p>

CC BY-SA 4.0
2018-12-28T17:19:50.590Z
What soft of software are they actually shipping (desktop? server software? their own SaaS service) and what language(s) is it written in?
simbo1905
<docker><docker-compose><builds><dependency-management>
Build Design - Docker vs Fedora's Mock
scott
# Build Design - Docker vs Fedora's Mock

(Asked by: username_0 on 2018-03-09)

**This post is migrated from a [reddit post](https://www.reddit.com/r/devops/comments/838qm0/build_desgin_docker_vs_fedoras_mock/). Parts in bold are to adopt it to SE's format.**

I'm talking with companies to help streamline/combine their build process. They must do it together and their current processes are scary. We've convinced them to go with AWS/jenkins/bitbucket/artifactory.

Now one company wants to use [fedora's mock](https://github.com/rpm-software-management/mock/wiki) for their build environment deps **and** build artifact management. Another wants to use [docker](https://www.docker.com/) for their build environment but **does not** have a build artifact solution yet.

I suggested a combination of docker (for build env deps) and mock (for product related artifacts and deps) to both. They scoffed at it. BTW one of the products is a custom rhel .iso.

* What are the pros/cons for mock vs docker in the way the two companies are debating using them?
* What about pros/cons for my proposal.. or if it is even a smart thing to do?
* Any other suggested tools/build flow that may work better?

**Ultimately I am interested in what is the best practice/most adopted method for doing this (build env deps mgmt/product artifact dep mgmt) in the industry that will have continued support and advancements?**

**Tags:** docker, docker-compose, builds, dependency-management

> **Comments:**
> **username_1**: What soft of software are they actually shipping (desktop? server software? their own SaaS service) and what language(s) is it written in?  

---

## 1 answers

### Answer by username_2 on 2018-12-20. Score: 2 | Accepted answer

Docker is going to be far more well-known than Mock. I consistently see Docker used during build in companies that I work for. I think I have seen Mock before, but only because I am a Fedora user.

However, Docker is not a build tool in of itself, so you can still use Mock inside a container. This is a great way to avoid the "snowflake" build server. By using Docker containers, your builds are consistent no matter what build tool you are using. You can standardise on Docker as a platform for builds, and leave developers to choose the best build tool (whether that's Mock or NPM).

The only other suggestion I'd have is to run the builds on a CI server, and Docker makes this really easy.

Here's [one example of a company using Docker for builds](https://amaysim.engineering/the-3-musketeers-how-make-docker-and-compose-enable-us-to-release-many-times-a-day-e92ca816ef17) (as well as tests and deploys).


---

