<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Docker on Shaowen Chen's Website</title><link>https://www.chenshaowen.com/en/tags/docker/</link><description>Recent content in Docker on Shaowen Chen's Website</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>&amp;copy;2016 - {year}, All Rights Reserved.</copyright><lastBuildDate>Sun, 19 Apr 2026 00:00:00 +0000</lastBuildDate><sy:updatePeriod>weekly</sy:updatePeriod><atom:link href="https://www.chenshaowen.com/en/tags/docker/atom.xml" rel="self" type="application/rss+xml"/><item><title>Deploying Hermes Agent in Containers</title><link>https://www.chenshaowen.com/en/blog/deploy-hermes-agent-under-containers.html</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><atom:modified>Sun, 19 Apr 2026 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/deploy-hermes-agent-under-containers.html</guid><description>1. Starting the Container Set the image 1 export IMAGE=nousresearch/hermes-agent:v2026.6.5 Set directory permissions 1 2 mkdir -p hermes-agent-home chmod -R 777 hermes-agent-home Set environment variables 1 2 3 cat &amp;lt;&amp;lt;EOF &amp;gt; hermes-agent-home/.env GATEWAY_ALLOW_ALL_USERS=true EOF Start hermes-agent 1 2 3 4 5 6 7 8 9 10 nerdctl run -d \</description><dc:creator>微信公众号</dc:creator><category>Hermes</category><category>AI</category><category>Containers</category><category>Docker</category><category>Operations</category><category>Agent</category></item><item><title>Deploying OpenClaw in Containers</title><link>https://www.chenshaowen.com/en/blog/deploy-openclaw-under-containers.html</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><atom:modified>Wed, 04 Mar 2026 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/deploy-openclaw-under-containers.html</guid><description>1. Start the Container Set the image 1 export IMAGE=ghcr.io/openclaw/openclaw:2026.3.2 Generate a random token 1 openssl rand -hex 32 Set the gateway token 1 export OPENCLAW_GATEWAY_TOKEN=xxx This token is used for authentication on both the remote web UI and the local TUI. Set directory permissions 1 2 mkdir -p openclaw-home</description><dc:creator>微信公众号</dc:creator><category>OpenClaw</category><category>AI</category><category>Containers</category><category>Docker</category><category>Operations</category><category>Agent</category></item><item><title>Deploying the DeepSeek 3FS Storage System in Containers</title><link>https://www.chenshaowen.com/en/blog/deploy-deepseek-3fs-storage-system-under-containers.html</link><pubDate>Sat, 15 Mar 2025 00:00:00 +0000</pubDate><atom:modified>Sat, 15 Mar 2025 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/deploy-deepseek-3fs-storage-system-under-containers.html</guid><description>1. Deployment Plan Before starting the containerized deployment, a few requirements:
To simplify delivery, only one image is needed For reliability, deploy as many replicas as possible Start different services through different parameters Inject configuration through environment variables and render it into configuration files Below is the deployment plan for DeepSeek 3FS:</description><dc:creator>微信公众号</dc:creator><category>Storage</category><category>AI</category><category>Containers</category><category>Kubernetes</category><category>Docker</category><category>Operations</category><category>LLM</category><category>3FS</category></item><item><title>Common AI Base Images and Startup Commands</title><link>https://www.chenshaowen.com/en/blog/common-ai-base-images-and-run-command.html</link><pubDate>Thu, 28 Mar 2024 00:01:00 +0000</pubDate><atom:modified>Thu, 28 Mar 2024 00:01:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/common-ai-base-images-and-run-command.html</guid><description>1. What the Image Tag Suffixes Mean base/cuda: includes the CUDA runtime
runtime: builds on base, adding the CUDA math libraries and the NCCL and cuDNN runtimes
devel: builds on runtime, adding headers and the development tools used to build CUDA images; particularly useful for multi-stage builds
cuddn: builds on the above, adding the cuDNN neural network acceleration library</description><dc:creator>微信公众号</dc:creator><category>AI</category><category>Images</category><category>Containers</category><category>Docker</category><category>GPU</category><category>LLM</category><category>Operations</category><category>R&amp;D</category></item><item><title>Nydus Lazy-Loading Image Configuration and Practice</title><link>https://www.chenshaowen.com/en/blog/nydus-configuration-and-practice.html</link><pubDate>Sat, 06 Jan 2024 11:22:55 +0000</pubDate><atom:modified>Sat, 06 Jan 2024 11:22:55 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/nydus-configuration-and-practice.html</guid><description>Statistics show that most files inside a container are never used. Based on this characteristic, Nydus defines a custom filesystem in the Rafs format, enabling on-demand loading of image files to solve the slow startup and storage consumption caused by large images. In AI scenarios, whether for inference or training, images often start at several GB, or even tens of GB, so Nydus is very well suited.</description><dc:creator>微信公众号</dc:creator><category>AI</category><category>Nydus</category><category>Docker</category><category>Images</category><category>Configuration</category><category>Practice</category><category>Operations</category></item><item><title>The Scope of Credentials During Pipeline Builds</title><link>https://www.chenshaowen.com/en/blog/the-scope-of-credential-in-building.html</link><pubDate>Thu, 06 Jul 2023 00:00:00 +0000</pubDate><atom:modified>Thu, 06 Jul 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/the-scope-of-credential-in-building.html</guid><description>In the client, we have already seen the Docker CLI passing credentials to the Docker Daemon via X-Registry-Config when sending the build context. But recent build feedback still shows some phenomena that cannot be explained. This post mainly runs some basic tests to make troubleshooting easier.
1. Building under host Docker The Docker Daemon is started with root privileges.</description><dc:creator>微信公众号</dc:creator><category>CICD</category><category>DevOps</category><category>Docker</category><category>Credentials</category><category>Kubernetes</category><category>Operations</category><category>Troubleshooting</category></item><item><title>Troubleshooting Slow IO When Building Images</title><link>https://www.chenshaowen.com/en/blog/troubleshoot-slow-io-when-building-dockerfile.html</link><pubDate>Thu, 02 Feb 2023 00:00:00 +0000</pubDate><atom:modified>Thu, 02 Feb 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/troubleshoot-slow-io-when-building-dockerfile.html</guid><description>1. The Problem Project details:
File size 5.6 GB File count 529352 Dockerfile
1 2 3 FROM golang:1.13 COPY ./ /go/src/code The build command and its output are as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 time DOCKER_BUILDKIT=1 docker build --no-cache -t test:v3 -f Dockerfile .</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Images</category><category>CICD</category><category>Build</category><category>Troubleshooting</category><category>Operations</category></item><item><title>Run mv Is Slower Than cp in a Dockerfile</title><link>https://www.chenshaowen.com/en/blog/run-mv-is-slower-than-cp-in-dockerfile.html</link><pubDate>Mon, 30 Jan 2023 00:00:00 +0000</pubDate><atom:modified>Mon, 30 Jan 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/run-mv-is-slower-than-cp-in-dockerfile.html</guid><description>Unlike on CentOS or Ubuntu, where we feel that mv is faster than cp, when you build an image with a Dockerfile, using Run cp is faster than Run mv. This post presents the test and verification data behind that.
1. Test Setup Machine environment Ubuntu 20.04.1 LTS
32C</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Containers</category><category>CICD</category><category>Images</category><category>Operations</category></item><item><title>How to Hijack docker.io Image Traffic to a Private Repository</title><link>https://www.chenshaowen.com/en/blog/hijack-docker-io-req-to-private-repository.html</link><pubDate>Mon, 18 Jul 2022 00:00:00 +0000</pubDate><atom:modified>Mon, 18 Jul 2022 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/hijack-docker-io-req-to-private-repository.html</guid><description>1. Self-signing a *.docker.io Domain Certificate 1.1 Creating a CA Certificate Generate the CA certificate private key 1 openssl genrsa -out ca.key 4096 Generate the CA certificate 1 2 3 4 openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj &amp;#34;/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=chenshaowen.com&amp;#34; \ -key ca.key \ -out ca.crt 1.2 Creating a *.</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>Kubernetes</category><category>Docker</category><category>Images</category><category>Operations</category><category>Security</category></item><item><title>Can /var/lib/docker Be Mounted on Remote Storage?</title><link>https://www.chenshaowen.com/en/blog/can-we-mount-var-lib-docker-to-remote-storage.html</link><pubDate>Tue, 22 Jun 2021 00:00:00 +0000</pubDate><atom:modified>Tue, 22 Jun 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/can-we-mount-var-lib-docker-to-remote-storage.html</guid><description>No.
1. Background When building a reliable, stable operations system on top of Kubernetes, destroying and creating virtual machines (VMs) is the norm. VMs provide compute and memory resources, while external storage is exposed to PVCs in the cluster through a StorageClass.
Against this backdrop, how to initialize a VM quickly becomes a new challenge.</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Containers</category><category>Storage</category><category>Kubernetes</category><category>Can We</category></item><item><title>How to Customize Your Own Jenkins Image</title><link>https://www.chenshaowen.com/en/blog/how-to-customize-your-jenkins.html</link><pubDate>Sat, 05 Jun 2021 00:00:00 +0000</pubDate><atom:modified>Sat, 05 Jun 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-customize-your-jenkins.html</guid><description>1. How to Deploy Jenkins To make the tests below easier, let me first introduce two ways to deploy Jenkins. Here I use the shaowenchen/jenkins:2.277.4 image. In a production environment, you should replace it with the official jenkins/jenkins image or your own custom image.
1.1 Running with docker-compose The docker-compose.yaml file</description><dc:creator>微信公众号</dc:creator><category>DevOps</category><category>CICD</category><category>Jenkins</category><category>Docker</category><category>Operations</category></item><item><title>How to Set Up a Private Registry Mirror</title><link>https://www.chenshaowen.com/en/blog/how-to-run-a-private-registry-mirror.html</link><pubDate>Thu, 29 Apr 2021 00:00:00 +0000</pubDate><atom:modified>Thu, 29 Apr 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-run-a-private-registry-mirror.html</guid><description>A Docker mirror can only accelerate images from docker.io, not images from private registries.
1. Why You Need a Private Registry Mirror Rate limiting on the public network Docker Hub pull rate limits Reduce image pull time 2. Create a Registry Image Acceleration Service Generate a configuration file version: 0.</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Containers</category><category>Images</category><category>Operations</category><category>Registry</category><category>Acceleration</category></item><item><title>Distributing Files and Running Scripts on VM Nodes in Kubernetes</title><link>https://www.chenshaowen.com/en/blog/how-to-distribute-files-and-scripts-to-vm-under-kubernetes.html</link><pubDate>Sat, 24 Apr 2021 00:00:00 +0000</pubDate><atom:modified>Sat, 24 Apr 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-distribute-files-and-scripts-to-vm-under-kubernetes.html</guid><description>1. What This Article Mainly Discusses Never build a high tower on shifting sand. Business growth and the evolution of business forms both need solid, powerful IT systems to support them. Business content is transparent to the market, but IT systems cannot be built to perfection overnight. In the future, competition between companies will mainly come from competition between their IT systems, and the ability to respond quickly to business requirements will be the key to winning.</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Docker</category><category>PaaS</category><category>Operations</category><category>Configuration Management</category><category>Virtual Machines</category><category>Learning</category><category>Cloud Native</category></item><item><title>Jenkins Services on Kubernetes Can Drop Docker Now</title><link>https://www.chenshaowen.com/en/blog/using-podman-to-build-images-under-kubernetes-and-jenkins.html</link><pubDate>Thu, 25 Feb 2021 00:00:00 +0000</pubDate><atom:modified>Thu, 25 Feb 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/using-podman-to-build-images-under-kubernetes-and-jenkins.html</guid><description>In principle, Jenkins can use Podman to build images in any Kubernetes cluster; this article uses Containerd as the example.
1. Dropping Docker Brings New Challenges to CICD In CICD scenarios, we often need to build and push images within a pipeline.
In an earlier document, Creating Jenkins Slaves Dynamically on Kubernetes, I described how mounting the /var/run/docker.</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>DevOps</category><category>CICD</category><category>Docker</category><category>Kubernetes</category><category>Podman</category></item><item><title>Run `rm -rf /` Under Kubernetes and You Can Just Run Away</title><link>https://www.chenshaowen.com/en/blog/attack-vectors-under-kubernetes.html</link><pubDate>Fri, 22 Jan 2021 00:00:00 +0000</pubDate><atom:modified>Fri, 22 Jan 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/attack-vectors-under-kubernetes.html</guid><description>This document is mainly meant to demonstrate the dangers of Docker privileged mode, so please proceed with caution. Users without CLI access can copy the example YAML and directly create cluster workloads such as Pod, Job, and DaemonSet to carry out the operations.
1. Directly Deleting All Resources If you can log in to the machine, pack your things, and run the command:</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Security</category><category>Attack Vectors</category><category>Operations</category><category>Docker</category><category>Troubleshooting</category></item><item><title>How to Debug a Container on the Host and Operate the Host from Inside a Container</title><link>https://www.chenshaowen.com/en/blog/operate-host-in-container-and-debug-container-on-host.html</link><pubDate>Mon, 11 Jan 2021 00:00:00 +0000</pubDate><atom:modified>Mon, 11 Jan 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/operate-host-in-container-and-debug-container-on-host.html</guid><description>1. A Strange Requirement My boss had a strange requirement: use a single kubeconfig file to fetch all kinds of host status information, such as the process list and process states.
My first reaction was that he must not understand containers — how could anyone use them that way, and if you were going to use them that way, why use containers at all?</description><dc:creator>微信公众号</dc:creator><category>Containers</category><category>Security</category><category>Kubernetes</category><category>Docker</category><category>Operations</category></item><item><title>How to Bypass DockerHub Image Pull Limits</title><link>https://www.chenshaowen.com/en/blog/how-to-cross-the-limit-of-dockerhub.html</link><pubDate>Wed, 09 Dec 2020 00:00:00 +0000</pubDate><atom:modified>Wed, 09 Dec 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-cross-the-limit-of-dockerhub.html</guid><description>1. DockerHub Limits In the end, there is no getting around this error:
1 Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit Starting November 2, 2020, DockerHub officially began limiting the pull rate for non-paying users:</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Images</category><category>DockerHub</category><category>Operations</category><category>Troubleshooting</category><category>Rate Limiting</category><category>Proxy</category></item><item><title>How to Use Docker in Docker</title><link>https://www.chenshaowen.com/en/blog/how-to-use-docker-in-docker.html</link><pubDate>Sat, 21 Nov 2020 00:00:00 +0000</pubDate><atom:modified>Sat, 21 Nov 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-use-docker-in-docker.html</guid><description>1. Typical Use Cases In CI, there is usually a CI Engine responsible for parsing the pipeline and controlling the whole build process, while the actual build is delegated to an Agent. Jenkins and GitLab both work this way.
As shown below, there are many kinds of Agents that connect to the CI Engine.</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Kubernetes</category><category>Containers</category><category>CI</category><category>CICD</category><category>Operations</category><category>Learning</category><category>DinD</category><category>Build</category><category>Jenkins</category></item><item><title>Deploying a Hexo Static Site with a Container Image</title><link>https://www.chenshaowen.com/en/blog/deploy-static-server-by-docker-image.html</link><pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate><atom:modified>Wed, 16 Sep 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/deploy-static-server-by-docker-image.html</guid><description>1. Why Deploy Independently with an Image Better SEO With GitHub Pages, deploying a static site is very convenient. Configure it once, and every commit deploys and updates automatically. Add jsDelivr and Cloudflare acceleration on top, and among free options it is already production-ready.
Unfortunately, Baidu&amp;rsquo;s search engine indexes GitHub Pages sites very slowly, or not at all.</description><dc:creator>微信公众号</dc:creator><category>Hexo</category><category>Docker</category><category>Images</category><category>Blog</category><category>Operations</category></item><item><title>Multi-Arch Docker Images</title><link>https://www.chenshaowen.com/en/blog/docker-image-under-multi-arch.html</link><pubDate>Sun, 05 Jul 2020 00:00:00 +0000</pubDate><atom:modified>Sun, 05 Jul 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/docker-image-under-multi-arch.html</guid><description>1. Enabling Docker&amp;rsquo;s experimental Feature First, enable Docker&amp;rsquo;s experimental feature, so the commands below are available.
Edit vim ~/.docker/config.json and add the following:
1 2 3 4 { &amp;#34;experimental&amp;#34;: &amp;#34;enabled&amp;#34;, &amp;#34;debug&amp;#34;: true } Note that this is not the /etc/docker/daemon.json file, and Docker does not need to be restarted.
2. Docker Images Starting with Docker 1.</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Images</category><category>Multi-Arch</category><category>manifest</category><category>Operations</category></item><item><title>How to Install GPU Drivers on CentOS</title><link>https://www.chenshaowen.com/en/blog/how-to-install-gpu-driver-in-centos.html</link><pubDate>Sat, 15 Feb 2020 00:00:00 +0000</pubDate><atom:modified>Sat, 15 Feb 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-install-gpu-driver-in-centos.html</guid><description>Using CentOS 7.7 and a Tesla P100 GPU as an example.
1. Preparing the Base Environment Install the lspci command 1 yum install -y pciutils Check whether the GPU supports CUDA 1 2 3 lspci | grep -i nvidia 00:09.0 3D controller: NVIDIA Corporation GP100GL [Tesla P100 PCIe 12GB] (rev a1) List of CUDA-capable GPUs: https://developer.</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>GPU</category><category>CentOS</category><category>Operations</category><category>Drivers</category></item><item><title>Using S2I to Build Cloud Native Applications</title><link>https://www.chenshaowen.com/en/blog/using-s2i-to-build-cloud-native-applications.html</link><pubDate>Mon, 26 Aug 2019 00:00:00 +0000</pubDate><atom:modified>Mon, 26 Aug 2019 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/using-s2i-to-build-cloud-native-applications.html</guid><description>1. What Problem S2I Solves It is foreseeable that a large number of applications will be deployed as containers in the future.
Container platforms care about images and containers, while application development cares about business code, and ultimately the code needs to be deployed as an image. From code to image — that is Source To Image, or S2I.</description><dc:creator>微信公众号</dc:creator><category>S2I</category><category>Docker</category><category>Cloud Native</category><category>Images</category><category>Operations</category><category>R&amp;D</category></item><item><title>How to Build an Automated Deployment Pipeline for Django with Jenkins, Docker, and GitLab</title><link>https://www.chenshaowen.com/en/blog/how-to-use-jenkins-docker-gitlab-to-build-django-automated-deployment-process.html</link><pubDate>Sun, 25 Nov 2018 00:00:00 +0000</pubDate><atom:modified>Sun, 25 Nov 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-use-jenkins-docker-gitlab-to-build-django-automated-deployment-process.html</guid><description>One of the illusions that programmers at big companies easily fall into is mistaking platform capabilities for their own abilities. In a large team, we should not focus only on our own little patch of ground; we need to understand every part of the platform. On one hand, this helps us make better use of the platform&amp;rsquo;s features; on the other, it helps our own technical growth.</description><dc:creator>微信公众号</dc:creator><category>Django</category><category>GitLab</category><category>Jenkins</category><category>Docker</category><category>DevOps</category><category>CICD</category><category>R&amp;D</category><category>Operations</category></item><item><title>Docker Operations Practices</title><link>https://www.chenshaowen.com/en/blog/docker-operations-practices.html</link><pubDate>Sat, 24 Nov 2018 00:00:00 +0000</pubDate><atom:modified>Sat, 24 Nov 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/docker-operations-practices.html</guid><description>Compiled from the &amp;ldquo;Development Tips&amp;rdquo; series, a roundup of common problems and solutions in Docker usage and operations. 1. Basic Docker Machine Commands Create the my-vm-name virtual machine 1 docker-machine create --driver virtualbox my-vm-name List all docker-machine instances 1 2 3 4 docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Operations</category><category>R&amp;D</category><category>Containers</category></item><item><title>CentOS Server Operations Practices</title><link>https://www.chenshaowen.com/en/blog/centos-server-operations-practices.html</link><pubDate>Sun, 11 Nov 2018 00:00:00 +0000</pubDate><atom:modified>Sun, 11 Nov 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/centos-server-operations-practices.html</guid><description>Compiled from the &amp;ldquo;Development Tips&amp;rdquo; series, collecting common problems and solutions in CentOS server operations.
1. Upgrading the Docker Version Uninstall the old version of Docker 1 2 3 4 5 6 $yum remove docker \ docker-common \ container-selinux \ docker-selinux \ docker-engine \ docker-engine-selinux Images, containers, data, and networks stored in /var/lib/docker/ are all preserved.</description><dc:creator>微信公众号</dc:creator><category>CentOS</category><category>Linux</category><category>Operations</category><category>R&amp;D</category><category>Docker</category></item><item><title>Learning Kubernetes with MiniKube on Windows 7</title><link>https://www.chenshaowen.com/en/blog/how-to-use-minikube-under-windows7.html</link><pubDate>Sun, 23 Sep 2018 00:00:00 +0000</pubDate><atom:modified>Sun, 23 Sep 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-use-minikube-under-windows7.html</guid><description>1. Basic Concepts 1.1 Kubernetes Kubernetes (K8s for short), the successor to Google&amp;rsquo;s Borg, is an open-source system for automatically deploying, scaling, and managing containerized applications.
The features it provides:
Automated deployment of containers Automated scaling up and down Automated application/service upgrades Grouping containers to serve traffic externally, with load balancing support Health checks for services, with automatic restarts 1.</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Kubernetes</category><category>Windows</category><category>MiniKube</category><category>Learning</category><category>Operations</category></item><item><title>How to Package a Robot Framework Docker Image</title><link>https://www.chenshaowen.com/en/blog/how-to-package-a-docker-image-of-robot-framework.html</link><pubDate>Tue, 18 Sep 2018 00:00:00 +0000</pubDate><atom:modified>Tue, 18 Sep 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-package-a-docker-image-of-robot-framework.html</guid><description>To make it easier for CI to integrate UI automation tests, the Robot Framework runtime needs to be packaged as a Docker image. This post covers the configuration and scripts involved in the packaging process. 1. Packaging Directory Structure 1 2 3 4 5 6 tree . ├──</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>RobotFramework</category><category>Python</category><category>Testing</category><category>CICD</category><category>Operations</category></item><item><title>Building a Django Development Environment with Docker from Scratch (6) uWSGI, Django</title><link>https://www.chenshaowen.com/en/blog/how-to-package-django-development-environments-using-docker-6.html</link><pubDate>Sun, 24 Sep 2017 18:03:22 +0000</pubDate><atom:modified>Sun, 24 Sep 2017 18:03:22 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-package-django-development-environments-using-docker-6.html</guid><description>1. Directory Structure The django-devops-uwsgi directory holds the image build files that package uWSGI and Django. It installs the necessary packages such as uWSGI, pip, and virtualenv into the image.
When a container is created from the image, the start.sh script runs: it creates the Python virtual runtime environment, installs the dependency packages from Django&amp;rsquo;s requirements.</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Django</category><category>Python</category><category>Services</category><category>Tools</category><category>R&amp;D</category><category>Operations</category></item><item><title>Packaging a Django Development Environment with Docker from Scratch (5) Nginx</title><link>https://www.chenshaowen.com/en/blog/how-to-package-django-development-environments-using-docker-5.html</link><pubDate>Sun, 24 Sep 2017 14:34:35 +0000</pubDate><atom:modified>Sun, 24 Sep 2017 14:34:35 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-package-django-development-environments-using-docker-5.html</guid><description>1. Directory Structure 1 2 3 4 5 6 7 8 9 10 11 12 ├── django-devops-nginx │ ├── Dockerfile │ └── nginx.repo ├── django-devops-compose │ ├── docker-compose.yml │ ├── www │ ├── conf │ │ ├── nginx.conf │ ├── log │ │ ├── nginx │ │ │ ├── access.log │ │ │ ├── error.</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Services</category><category>Tools</category><category>Django</category><category>Nginx</category><category>Python</category><category>R&amp;D</category><category>Operations</category></item><item><title>Packaging a Django Development Environment with Docker from Scratch (3) Docker Compose</title><link>https://www.chenshaowen.com/en/blog/how-to-package-django-development-environments-using-docker-3.html</link><pubDate>Sat, 23 Sep 2017 19:56:03 +0000</pubDate><atom:modified>Sat, 23 Sep 2017 19:56:03 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-package-django-development-environments-using-docker-3.html</guid><description>1. Basic Concepts Docker Compose is a Docker tool for defining and running complex applications. With Docker Compose, you can define a multi-container application in a single file, then use a single command to start your application and finish all the preparation work.
Docker Compose positions itself as &amp;lsquo;defining and running complex applications with Docker&amp;rsquo;.</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Services</category><category>Tools</category><category>Django</category><category>Python</category><category>R&amp;D</category><category>Operations</category></item><item><title>Packaging a Django Development Environment with Docker from Scratch (2) Dockerfile</title><link>https://www.chenshaowen.com/en/blog/how-to-package-django-development-environments-using-docker-2.html</link><pubDate>Fri, 22 Sep 2017 19:52:27 +0000</pubDate><atom:modified>Fri, 22 Sep 2017 19:52:27 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-package-django-development-environments-using-docker-2.html</guid><description>1. Basic Concepts A Dockerfile is a collection of instructions for building a Docker image. Docker reads Dockerfile instructions to build an image automatically. A Dockerfile is similar to a Makefile: both are text files that organize all the instructions in the order the image is built.
The command to build a Docker image:</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Django</category><category>Python</category><category>Services</category><category>Tools</category><category>R&amp;D</category><category>Operations</category></item><item><title>Django Application Performance Testing Based on Docker</title><link>https://www.chenshaowen.com/en/blog/django-application-performance-test-based-on-docker.html</link><pubDate>Thu, 07 Sep 2017 19:08:09 +0000</pubDate><atom:modified>Thu, 07 Sep 2017 19:08:09 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/django-application-performance-test-based-on-docker.html</guid><description>1. Basic Website Performance Metrics Concurrency: the number of sessions the server handles per unit of time Throughput: the number of requests the server handles per unit of time Response time: the total elapsed time from when the user sends a request to when the response is fully received, made up of network transmission time, service processing time, and other parts Average response time: the average of the response times of all requests 2.</description><dc:creator>微信公众号</dc:creator><category>Testing</category><category>Demo</category><category>Docker</category><category>Django</category></item><item><title>Docker Basics</title><link>https://www.chenshaowen.com/en/blog/basis-of-docker.html</link><pubDate>Fri, 28 Jul 2017 15:30:00 +0000</pubDate><atom:modified>Fri, 28 Jul 2017 15:30:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/basis-of-docker.html</guid><description>1. What Docker Is Docker was born in early 2013 as a side project inside dotCloud (the former name of Docker Inc.). Its source code is hosted on GitHub, it is written in Go, and it follows the Apache 2.0 open-source license.
The goal of the Docker project is to provide a lightweight operating system virtualization solution.</description><dc:creator>微信公众号</dc:creator><category>PaaS</category><category>DevOps</category><category>Docker</category><category>Containers</category><category>Learning</category></item></channel></rss>