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
Container registry vulnerability scanning checks the images stored in a registry, such as Amazon ECR, Azure Container Registry (ACR), Google Artifact Registry (the successor to GCR), or Harbor, against known CVE data. It runs when an image is pushed and keeps running afterward, so vulnerable images get flagged before they deploy and again when new…

October 7, 2026
What is container image scanning? How it works, best practices, and top tools
Container image scanning is the automated analysis of a container image's layers, operating system packages, application dependencies and build configuration against vulnerability databases. It finds known CVEs, embedded secrets and risky settings before the image runs in production. Every image inherits code from a base image and pulls in open-source libraries nobody on the team…

October 7, 2026
Container vulnerability management: how to cut CVE noise and fix what’s actually running
Image scanners flag every vulnerable package they find, including packages that never execute, so a single cluster can produce thousands of findings that no team can work through. Container vulnerability management is the continuous practice of finding, prioritizing, fixing and verifying vulnerabilities in container images and in the workloads that run from them. Priority should…

October 6, 2026
Docker container security: 15 best practices from image to runtime
Docker container security comes down to 15 practices across the container lifecycle. Build minimal, signed images; protect the host and Docker daemon; run every container with least privilege; isolate networks and secrets; and monitor what executes at runtime. Most container breaches follow a few predictable paths: privileged containers, a mounted Docker socket, unpatched images, or…

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;
}
}Container registry vulnerability scanning checks the images stored in a registry, such as Amazon ECR, Azure Container Registry (ACR), Google Artifact Registry (the successor to GCR), or Harbor, against known CVE data. It runs when an image is pushed and keeps running afterward, so vulnerable images get flagged before they deploy and again when new…
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;
}
}Container image scanning is the automated analysis of a container image's layers, operating system packages, application dependencies and build configuration against vulnerability databases. It finds known CVEs, embedded secrets and risky settings before the image runs in production. Every image inherits code from a base image and pulls in open-source libraries nobody on the team…
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;
}
}Image scanners flag every vulnerable package they find, including packages that never execute, so a single cluster can produce thousands of findings that no team can work through. Container vulnerability management is the continuous practice of finding, prioritizing, fixing and verifying vulnerabilities in container images and in the workloads that run from them. Priority should…
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;
}
}Docker container security comes down to 15 practices across the container lifecycle. Build minimal, signed images; protect the host and Docker daemon; run every container with least privilege; isolate networks and secrets; and monitor what executes at runtime. Most container breaches follow a few predictable paths: privileged containers, a mounted Docker socket, unpatched images, or…
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);
}
});