Glossary
Upwind Glossary
Your hub to learn about the future of cloud security and runtime.
Feed
Grid
Container Security 101

October 7, 2026
Container registry vulnerability scanning: how to scan ECR, ACR, GCR, and Harbor images
Updated on November 4, 2026Container registry vulnerability scanning checks images stored in a registry, such as Amazon ECR, Azure Container Registry, Google Artifact Registry or Harbor, against vulnerability databases when they are pushed, and again over time as new CVEs are published. It sits between build-time checks in CI and runtime detection in the cluster.…

October 7, 2026
What is container image scanning? How it works, best practices, and top tools
Updated on November 4, 2026Container image scanning is the automated inspection of a container image's layers, operating system packages, application dependencies and configuration to find known vulnerabilities, exposed secrets and risky settings before and after the image is deployed. It is one layer of container security. It can stop a vulnerable build before it reaches…

October 7, 2026
Container vulnerability management: how to cut CVE noise and fix what’s actually running
Updated on November 4, 2026Most teams' scanners already work. The trouble is volume: they return thousands of findings across base layers, old tags and dormant tools, and nobody can say which ten matter this week. Container vulnerability management is the practice of finding, prioritizing and fixing vulnerabilities in container images and the workloads running from…

October 6, 2026
Docker container security: 15 best practices from image to runtime
Updated on November 4, 2026Docker container security comes down to 15 controls applied across the container lifecycle: harden and scan images at build time, verify what enters the registry and the cluster, restrict what containers can do at runtime, and watch running workloads for behaviour that drifts from the image. Containers are built from layered…

January 22, 2025
Containers vs. VMs: Which is Right for You?
Containers and virtual machines (VMs) have become more popular due to the shift toward cloud-provided infrastructure. Each method of providing cloud-based services has its benefits and drawbacks — there’s orchestration complexity to consider, but also patch management and isolation boundaries. To be sure, tech teams will have to compare their architecture choices in the context…

January 10, 2025
Choosing the Right Container Security Tool: Open Source? Cloud?
While container security tools can identify vulnerabilities and enforce compliance, they can also result in alert fatigue, difficult integrations, and security gaps across disparate environments. The debate isn’t whether to use these tools — it’s how to use them smarter in increasingly intricate setups. We’re breaking down what tools are available and their best use…

November 25, 2024
Secure Your AWS Containers with Best Practices
Amazon Web Services (AWS) has become the de facto platform for running containers. Thanks to its vast array of services like ECS, EKS, and Fargate, AWS simplifies scaling and orchestration to make containerized apps the backbone of modern cloud-native architectures. However, with widespread adoption comes a unique security challenge: managing a highly dynamic, ever-changing attack…

November 12, 2024
Secure Your Containers: Best Practices & Solutions
Containers spin up and down dynamically. They use varying orchestration platforms, each with its own unique architectures and risks. And differing cloud-managed services like EKS, AKS, and GKE might simplify some security, while introducing secondary IAM complexity. So, is there such a thing as “container security”? What are the fundamentals? We’ve already talked about container…

November 1, 2024
Secure Your Containers: A Guide to Runtime Security Best Practices
Container runtime security means protecting containerized workloads against external threats while actively executing their instructions after launch. But that’s often easier said than done, as best practices can require continuous monitoring and careful coordination within dynamic environments. This blog post takes a deep dive into the tools, processes, and challenges of container runtime security as…

October 28, 2024
Container Runtimes Explained: Security, Types & Best Practices
Applications need input to function on any operating system, and containers are no exception, needing instructions to run and perform their intended operations. However, given the scale at which containers are deployed within organizations, managing them manually is impractical. This is where container runtimes come in. While container runtimes solve some challenges, they also manage…

Container registry vulnerability scanning: how to scan ECR, ACR, GCR, and Harbor images
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Container registry vulnerability scanning checks images stored in a registry, such as Amazon ECR, Azure Container Registry, Google Artifact Registry or Harbor, against vulnerability databases when they are pushed, and again over time as new CVEs are published. It sits between build-time checks in CI and runtime detection in the cluster.…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
What is container image scanning? How it works, best practices, and top tools
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Container image scanning is the automated inspection of a container image's layers, operating system packages, application dependencies and configuration to find known vulnerabilities, exposed secrets and risky settings before and after the image is deployed. It is one layer of container security. It can stop a vulnerable build before it reaches…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Container vulnerability management: how to cut CVE noise and fix what’s actually running
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Most teams' scanners already work. The trouble is volume: they return thousands of findings across base layers, old tags and dormant tools, and nobody can say which ten matter this week. Container vulnerability management is the practice of finding, prioritizing and fixing vulnerabilities in container images and the workloads running from…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Docker container security: 15 best practices from image to runtime
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Docker container security comes down to 15 controls applied across the container lifecycle: harden and scan images at build time, verify what enters the registry and the cluster, restrict what containers can do at runtime, and watch running workloads for behaviour that drifts from the image. Containers are built from layered…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Containers vs. VMs: Which is Right for You?
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Containers and virtual machines (VMs) have become more popular due to the shift toward cloud-provided infrastructure. Each method of providing cloud-based services has its benefits and drawbacks — there’s orchestration complexity to consider, but also patch management and isolation boundaries. To be sure, tech teams will have to compare their architecture choices in the context…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Choosing the Right Container Security Tool: Open Source? Cloud?
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}While container security tools can identify vulnerabilities and enforce compliance, they can also result in alert fatigue, difficult integrations, and security gaps across disparate environments. The debate isn’t whether to use these tools — it’s how to use them smarter in increasingly intricate setups. We’re breaking down what tools are available and their best use…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Secure Your AWS Containers with Best Practices
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Amazon Web Services (AWS) has become the de facto platform for running containers. Thanks to its vast array of services like ECS, EKS, and Fargate, AWS simplifies scaling and orchestration to make containerized apps the backbone of modern cloud-native architectures. However, with widespread adoption comes a unique security challenge: managing a highly dynamic, ever-changing attack…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Secure Your Containers: Best Practices & Solutions
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Containers spin up and down dynamically. They use varying orchestration platforms, each with its own unique architectures and risks. And differing cloud-managed services like EKS, AKS, and GKE might simplify some security, while introducing secondary IAM complexity. So, is there such a thing as “container security”? What are the fundamentals? We’ve already talked about container…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Secure Your Containers: A Guide to Runtime Security Best Practices
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Container runtime security means protecting containerized workloads against external threats while actively executing their instructions after launch. But that’s often easier said than done, as best practices can require continuous monitoring and careful coordination within dynamic environments. This blog post takes a deep dive into the tools, processes, and challenges of container runtime security as…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Container Runtimes Explained: Security, Types & Best Practices
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Applications need input to function on any operating system, and containers are no exception, needing instructions to run and perform their intended operations. However, given the scale at which containers are deployed within organizations, managing them manually is impractical. This is where container runtimes come in. While container runtimes solve some challenges, they also manage…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Container Vulnerability Scanning: A Comprehensive Guide
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Ninety-six percent of 3rd-party container applications contain vulnerabilities. While that rate may seem high, containerization comes with its own benefits that can give DevOps teams a competitive edge. Containers are here to stay. In this article, we’re diving into container scanning features and related tools so you can get the most out of this flexible…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});