docker-debian-artifacts | Official builds of debuerreotype-generated Debian tarballs | Continuous Deployment library
kandi X-RAY | docker-debian-artifacts Summary
kandi X-RAY | docker-debian-artifacts Summary
Official builds of debuerreotype-generated Debian tarballs for use in Docker
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of docker-debian-artifacts
docker-debian-artifacts Key Features
docker-debian-artifacts Examples and Code Snippets
Community Discussions
Trending Discussions on docker-debian-artifacts
QUESTION
Let's consider I'm using the Node.js 10.8.0
node:10.8.0-jessie
Docker image as a base image for my application Dockerfile
. The application is running stable in production and is not updated for a while (several months).
The Node.js 10.8.0
image is based on the buildpack-deps:jessie
image, which itself is based on buildpack-deps:jessie-scm
image. This is based on the buildpack-deps:jessie-curl
image, whose base image is debian:jessie
.
System / security updates for Debian Jessie
are released regularly.
In a classic hosted environment I would update my Host using sudo apt-get update && sudo apt-get upgrade
and I'm fine.
But how do I ensure my running Node.js application in the container gets the latest Debian Jessie
updates and patches while staying on Node.js node:10.8.0-jessie
?
Running sudo apt-get update && sudo apt-get upgrade
for my application Dockerfile
in my CI and regularly creating a new Image for my application and re-deploying the container doesn't them the correct way.
As it all starts with the debian:jessie
image, I would expect this to be updated regularly and all depending images as well.
Then I would rebuild my application image by pulling the Node.js 10.8.0
images again (--no-cache
) and re-deploy it.
My questions are: is this assumption correct? Is there any official Docker documentation about that workflow which seems essential to me?
How do I get notified about debian:jessie
and eventually node:10.8.0-jessie
image patch releases?
ANSWER
Answered 2018-Aug-03 at 12:14When I want to use Docker images today, I always try to find the alpine
version of this image. There is reasons behind this:
Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox.
If you don't know already but you're interested in Alpine Linux, I suggest you to navigate through their website.
The good point is that this distribution is well handled by a good community. That signifies the distribution is often updated to integrate new security fixes.
It is important to understand that this is really insteresting (speaking Docker) because, as you said in your question, the built images are immutable through the time.
By using Alpine based images in Docker, you ensure that you have the latest fix from the actual known bugs/security threats. To know how often they update their Docker image, you can check this page: https://hub.docker.com/r/library/alpine/tags/
Every image based on this one will be updated at the same time, and there are many image:
- https://hub.docker.com/_/node/
- https://hub.docker.com/_/postgres/
- https://hub.docker.com/_/httpd/
- https://hub.docker.com/_/nginx/
- https://hub.docker.com/_/redis/
- https://hub.docker.com/_/memcached/
- https://hub.docker.com/_/ (the first in the list)
I don't think my solution is the best but it can help anyway:
On my servers, I created a CRON task that pull every day the Alpine image I'm using, for example node:8-alpine
.
After that, whenever I build my applications based on this image, I'm sure I have the latest updates.
If you want to go deeper, you can even build you app after pulling the node:8-alpine
image.
For your question about being prevent of new updates/upgrades I don't know how but I you want to use Alpine images you can subscribe to their RSS: https://alpinelinux.org/atom.xml
There are many others reasons to use Alpine images but since it'll be off topic, I'll just give you this article: https://nickjanetakis.com/blog/the-3-biggest-wins-when-using-alpine-as-a-base-docker-image
EDIT 1:
Since you have a CI environment and you build your images with, you can regularly create your own Dockerfile where you do your apt-get update && apt-get install
and then use this image as a base images for your application images. But this way will add layers to your final images and then will increase its size.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install docker-debian-artifacts
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page