Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/conan-io/conan-docker-tools

Some tools for automated package generation
https://github.com/conan-io/conan-docker-tools

conan conan-docer docker docker-image

Last synced: 29 days ago
JSON representation

Some tools for automated package generation

Awesome Lists containing this project

README

        

| Service | OS | Status |
|---------|----|----------|
| Jenkins | Linux | [![Build Status](https://ci.conan.io/buildStatus/icon?job=ConanDockerTools%2Ftesting%2Fmaster)](https://ci.conan.io/job/ConanDockerTools/job/testing/job/master/) |

# Conan Docker Tools

![logo](logo.png)

Dockerfiles for different GCC and Clang compiler versions.
You can use these images directly in your project or with the [conan-package-tools project](https://github.com/conan-io/conan-package-tools).

> :warning: **Warning:**
The images listed below are intended for **generating open-source library packages** and we cannot guarantee any kind of stability. We strongly recommend using your own generated images for production environments taking the dockerfiles in this repository as a reference.

### Installation and Usage

You can use the images directly from Docker Hub, for example:

```bash
$ docker pull conanio/gcc11-ubuntu16.04:2.2.2
$ docker run -it conanio/gcc11-ubuntu16.04:2.2.2
```

**NOTE**: Always use a specific tag, like `2.2.2`, to ensure the stability of your builds. The `latest` tag is **not** stable and can change at any time.

### Storage and availability

First, check what images are still maintained in the [legacy](legacy/README.md#official-docker-images) and [modern](modern/README.md#official-docker-images) folder.

All public images are stored in the Docker Hub under the `conanio` organization. You can find them [here](https://hub.docker.com/r/conanio/).

Also, there is a copy for each image used internally by ConanCenterIndexCI. These images are private and consumed by the Jenkins server. It keeps the images up-to-date, avoiding the Docker Hub rate limit and network delays.

### Legacy and Modern images

There are two main folders which store our Dockerfiles [legacy](legacy/) and [modern](modern/).

#### Legacy

As the name suggests, they are our legacy, a few images are still used by Conan Center, and all of them are superseded by the Moderns images.
Please, read the table below to understand which images are still maintained. All images produced by legacy only contain the compiler name, version, and arch, e.g. `conanio/gcc10`, `conan/gcc7-armv7hf`
Also, all non-x64 images are no longer supported. Because we do not use them on Conan Center, we do not have maintainers/experts enough to keep them, and we have only a few users looking for them.
For personal projects, avoid the legacy folder.

#### Modern

The Modern folder stores our new design, re-using the same Dockerfile for any compiler version. Consider this folder for new projects, as we will maintain it for a long period. All images generated by modern design are named using the compiler name, version, distro and its version, e.g. `conanio/gcc11-ubuntu16.04`. Only x64 is supported. Please, read the issue [#205](https://github.com/conan-io/conan-docker-tools/issues/205) to obtain more information about our decision related to design, distro version, glibc support, system package and compilers.

### LICENSE

[MIT](LICENSE)