I have a GPLv3 code inside the container which I am planning to distribute. I also have a proprietary code in the same hardware where the GPLv3 code inside the container runs.
Does this mean I have to publish my proprietary code?
Open Source Stack Exchange is a question and answer site for people organizing, marketing or licensing open source development projects. It only takes a minute to sign up.Sign up to join this community
In all cases you need to comply with all the licenses of the third-party code included in the Docker images. And you need to comply with the L/GPL for the L/GPL-licensed code in particular, and this for all the layers of the Docker image you redistribute (which will typically include the base image and layers and all the base OS packages) and anything using a third-party license.
If your proprietary code has some intimate relationship with GPL-licensed code you may also need to make your code available under a GPL-compatible license.
The details and specifics matter a lot here: it really boils down to how you interact with the GPL-licensed code and if you have modified it or not.
The dynamics of Interaction of GPL code with proprietary code has to be looked into for derived works as it differs on a case-to-case basis.
As per GPLv3, You MUST include Install Instructions and the user should have the capability to recreate the same. This condition might lead to providing proprietary information as well.
Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions.
There is a high probability of publishing your proprietary code due to these strong copyleft license obligations in general (only a lawyer can always provide concrete answers on your case of proprietary-GPLv3 usage)