<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Docker on Jermineの博客 </title>
    <link>https://Jermine.vdo.pub/categories/docker/</link>
    <description>Recent content in Docker on Jermineの博客 </description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <lastBuildDate>Sun, 15 Mar 2026 09:12:34 +0800</lastBuildDate>
    <atom:link href="https://Jermine.vdo.pub/categories/docker/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>使用buildah在容器中构建镜像</title>
      <link>https://Jermine.vdo.pub/cloud-native/k8s-build-images-by-buildah/</link>
      <pubDate>Sun, 15 Mar 2026 09:12:34 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/cloud-native/k8s-build-images-by-buildah/</guid>
      <description>&lt;h1 id=&#34;背景&#34;&gt;背景&lt;/h1&gt;&#xA;&lt;p&gt;多年来， Kaniko一直是构建镜像的首选方案，它是谷歌专为在非特权容器内构建镜像而开发的工具，无需 Docker 守护进程。然而在 2025 年 6 月，谷歌将该代码库归档，现在它已变为只读。GitLab 也已移除 Kaniko 的相关文档，并推荐使用 Buildah 或 Podman 等替代工具。&lt;/p&gt;</description>
    </item>
    <item>
      <title>基于Docker部署ceph分布式文件系统[MImic13.2</title>
      <link>https://Jermine.vdo.pub/ceph/%E5%9F%BA%E4%BA%8Edocker%E9%83%A8%E7%BD%B2ceph%E5%88%86%E5%B8%83%E5%BC%8F%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9Fmimic13.2.4%E7%89%88%E6%9C%AC/</link>
      <pubDate>Thu, 24 Jan 2019 15:32:11 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/ceph/%E5%9F%BA%E4%BA%8Edocker%E9%83%A8%E7%BD%B2ceph%E5%88%86%E5%B8%83%E5%BC%8F%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9Fmimic13.2.4%E7%89%88%E6%9C%AC/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;本文记录了基于docker部署最新ceph版本的多节点高可用测试详尽过程，切身体会比ceph-deploy方便得多，希望能给初次接触ceph的同学提供些许参考。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux安装Nvidia Docker</title>
      <link>https://Jermine.vdo.pub/linux/linux%E5%AE%89%E8%A3%85nvidia-docker/</link>
      <pubDate>Wed, 26 Dec 2018 18:14:00 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/linux%E5%AE%89%E8%A3%85nvidia-docker/</guid>
      <description>&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt; 由于程序运行于容器之中，所以镜像中一般都是带有CUDA、CUDNN库的，因此只需要在docker所在的主机上安装显卡驱动即可，无需费太大力气去安装cuda、cuddn之类的东西。&lt;/p&gt;</description>
    </item>
    <item>
      <title>本地服务器搭建Harbor</title>
      <link>https://Jermine.vdo.pub/docker/%E6%9C%AC%E5%9C%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BAharbor/</link>
      <pubDate>Mon, 10 Dec 2018 17:38:45 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/%E6%9C%AC%E5%9C%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BAharbor/</guid>
      <description>&lt;h2 id=&#34;unix下安装harbor镜像仓库&#34;&gt;Unix下安装Harbor镜像仓库&lt;/h2&gt;&#xA;&lt;p&gt;harbor的&lt;a href=&#34;https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md&#34;&gt;官方安装指南&lt;/a&gt;介绍了harbor有三种安装方式，分别是在线安装、离线安装和OVA安装，本文主要采用离线安装的方式。&lt;/p&gt;&#xA;&lt;p&gt;官方文档上面说明需要依赖Python 2.7或以上版本，Docker引擎1.10以上，还有Docker Compose 1.6.0或以上版本，openssl。&lt;/p&gt;</description>
    </item>
    <item>
      <title>关于Docker远程连接</title>
      <link>https://Jermine.vdo.pub/docker/%E5%85%B3%E4%BA%8Edocker_%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5/</link>
      <pubDate>Thu, 29 Nov 2018 11:24:37 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/%E5%85%B3%E4%BA%8Edocker_%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5/</guid>
      <description>&lt;h2 id=&#34;非安全的连接方式&#34;&gt;非安全的连接方式&lt;/h2&gt;&#xA;&lt;p&gt;先介绍 &lt;code&gt;非安全&lt;/code&gt; 的连接方式。&lt;/p&gt;&#xA;&lt;h3 id=&#34;服务端配置&#34;&gt;服务端配置&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;CoreOS &lt;/code&gt;请使用第二种方法，其他 Linux 系统配置时选择以下两种方法之一&lt;/p&gt;&#xA;&lt;h3 id=&#34;通常的配置方法&#34;&gt;通常的配置方法&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;docker.service&lt;/code&gt; 中 &lt;code&gt;dockerd&lt;/code&gt; 的&lt;code&gt; -H&lt;/code&gt; 参数不能与 &lt;code&gt;daemon.json&lt;/code&gt; 中的 &lt;code&gt;hosts &lt;/code&gt;键值对冲突。(其他参数同理)&lt;/p&gt;&#xA;&lt;p&gt;新建 &lt;code&gt;/etc/systemd/system/docker.service.d/docker.conf&lt;/code&gt; 文件。&lt;/p&gt;</description>
    </item>
    <item>
      <title>使用dotnet core通过docker部署一个基于微服务的demo应用</title>
      <link>https://Jermine.vdo.pub/microservice/%E4%BD%BF%E7%94%A8dotnet-core%E9%80%9A%E8%BF%87docker%E9%83%A8%E7%BD%B2%E4%B8%80%E4%B8%AA%E5%9F%BA%E4%BA%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84demo%E5%BA%94%E7%94%A8/</link>
      <pubDate>Tue, 27 Nov 2018 13:25:20 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/microservice/%E4%BD%BF%E7%94%A8dotnet-core%E9%80%9A%E8%BF%87docker%E9%83%A8%E7%BD%B2%E4%B8%80%E4%B8%AA%E5%9F%BA%E4%BA%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84demo%E5%BA%94%E7%94%A8/</guid>
      <description>&lt;h2 id=&#34;使用dotcore通过docker部署一个基于微服务的demo应用&#34;&gt;使用dotcore通过docker部署一个基于微服务的demo应用&lt;/h2&gt;&#xA;&lt;h3 id=&#34;架构概述&#34;&gt;架构概述&lt;/h3&gt;&#xA;&lt;p&gt;这个参考应用程序在服务器和客户端是跨平台的，这要归功于.NET Core服务能够在Linux或Windows容器上运行，具体取决于您的Docker主机，以及Xamarin用于在Android，iOS或Windows / UWP plus上运行的移动应用程序客户端Web应用程序的任何浏览器。该体系结构提出了一种面向微服务的体系结构实现，具有多个自治微服务（每个都拥有自己的数据库/ db），并在每个微服务中实现不同的方法（简单的CRUD与DDD / CQRS模式），使用Http作为客户端应用程序之间的通信协议。微服务和支持异步通信，用于基于集成事件和事件总线（轻量级消息代理，在RabbitMQ或Azure Service Bus之间进行选择，跨多个服务）进行数据更新传播。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nvidia Docker可以指定GPU以及数量</title>
      <link>https://Jermine.vdo.pub/docker/nvidia-docker/</link>
      <pubDate>Fri, 23 Nov 2018 18:17:44 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/nvidia-docker/</guid>
      <description>&lt;h2 id=&#34;docker可以指定gpu以及数量操作如下&#34;&gt;docker可以指定GPU以及数量操作如下：&lt;/h2&gt;&#xA;&lt;p&gt;docker调用GPU时可以明确指定用哪一张显卡，同时也可以指定数量&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://Jermine.vdo.pub/img/docker/1.png&#34; alt=&#34;1&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>实时数据库InfluxDB的使用</title>
      <link>https://Jermine.vdo.pub/database/%E5%AE%9E%E6%97%B6%E6%95%B0%E6%8D%AE%E5%BA%93influxdb%E7%9A%84%E4%BD%BF%E7%94%A8/</link>
      <pubDate>Fri, 07 Sep 2018 14:00:54 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/database/%E5%AE%9E%E6%97%B6%E6%95%B0%E6%8D%AE%E5%BA%93influxdb%E7%9A%84%E4%BD%BF%E7%94%A8/</guid>
      <description>&lt;h2 id=&#34;influxdb介绍&#34;&gt;InfluxDB介绍：&lt;/h2&gt;&#xA;&lt;p&gt;InfluxDB是一个开源的时序数据库，使用GO语言开发，特别适合用于处理和分析资源监控数据这种时序相关数据。而InfluxDB自带的各种特殊函数如求标准差，随机取样数据，统计数据变化比等，使数据统计和实时分析变得十分方便。在我们的容器资源监控系统中，就采用了InfluxDB存储cadvisor的监控数据。本文对InfluxDB的基本概念和一些特色功能做一个详细介绍，内容主要是翻译整理自官网文档，如有错漏，请指正。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux [re]install CUDA - Linux 安装和使用 CUDA</title>
      <link>https://Jermine.vdo.pub/linux/linux-reinstall-cuda/</link>
      <pubDate>Fri, 24 Aug 2018 13:48:25 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/linux-reinstall-cuda/</guid>
      <description>&lt;h1 id=&#34;简便安装方法&#34;&gt;简便安装方法&lt;/h1&gt;&#xA;&lt;p&gt;&lt;strong&gt;此文档来源于Jermine的个人blog ：&lt;/strong&gt; &lt;a href=&#34;https://jermine.vdo.pub/linux/ubuntu-16.04-reinstall-cuda/&#34;&gt;https://jermine.vdo.pub/linux/ubuntu-16.04-reinstall-cuda/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;推荐两种玩法&#34;&gt;推荐两种玩法：&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt; ： 由于tensorflow的GPU版本依赖nvidia的cuda、cudnn库，因此一般需要包含cuda和cudnn的链接库文件，普遍做法是通过主机安装cudnn、cuda的方式。这里还有另外两种方式可以选择：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker中使用深度学习框架并支持GPU加速</title>
      <link>https://Jermine.vdo.pub/docker/docker%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%A1%86%E6%9E%B6%E5%B9%B6%E6%94%AF%E6%8C%81gpu%E5%8A%A0%E9%80%9F/</link>
      <pubDate>Wed, 23 Aug 2017 15:40:16 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/docker%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%A1%86%E6%9E%B6%E5%B9%B6%E6%94%AF%E6%8C%81gpu%E5%8A%A0%E9%80%9F/</guid>
      <description>&lt;h2 id=&#34;docker中使用深度学习框架并支持gpu加速&#34;&gt;Docker中使用深度学习框架并支持GPU加速&lt;/h2&gt;&#xA;&lt;h3 id=&#34;启动一个支持gpu的容器&#34;&gt;启动一个支持gpu的容器&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;docker run --runtime=nvidia --restart=always --name tensorflow  -dit -v `pwd`:/app -w /app  nvidia/cuda:9.0-cudnn7-runtime-ubuntu16.04&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;进入容器&#34;&gt;进入容器&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;docker exec -it tensorflow bash&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;设置源&#34;&gt;设置源&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;Jermine@ubuntu:~$ cat &amp;gt; /etc/apt/sources.list&#xA;&#xA;deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse&#xA;deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse&#xA;deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse&#xA;deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse&#xA;##测试版源&#xA;deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;更新源&#34;&gt;更新源&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt-get update &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;安装相关依赖&#34;&gt;安装相关依赖&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# 导入环境变量&#xA; TENSORFLOW_VERSION=1.7.0 &#xA; &#xA; apt-get update -y  &amp;amp;&amp;amp; apt-get install -y --no-install-recommends python3 python3-pip  protobuf-compiler;\&#xA;    pip3 install --upgrade pip ;\&#xA;    python3 -V &amp;amp;&amp;amp; pip3 -V ;\&#xA;    pip3  --no-cache-dir install setuptools  ;\&#xA;    pip3 --no-cache-dir install  \&#xA;    https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-${TENSORFLOW_VERSION}-cp35-cp35m-linux_x86_64.whl ;\&#xA;    apt-get autoremove &amp;amp;&amp;amp; apt-get autoclean ;\&#xA;    rm -rf /var/lib/apt/lists/*&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;测试程序&#34;&gt;测试程序&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import numpy as np&#xA;np.random.seed(0)&#xA;import tensorflow as tf&#xA;import time&#xA;&#xA;N,D = 6000,8000&#xA;&#xA;with tf.device(&amp;#39;/cpu:0&amp;#39;):&#xA;    x = tf.placeholder(tf.float32)&#xA;    y = tf.placeholder(tf.float32)&#xA;    z = tf.placeholder(tf.float32)&#xA;&#xA;    a = x * y&#xA;    b = a + z&#xA;    c = tf.reduce_sum(b)&#xA;&#xA;grad_x, grad_y, grad_z = tf.gradients(c, [x,y,z])&#xA;&#xA;start_time = time.time()&#xA;with tf.Session() as sess:&#xA;    values = {&#xA;        x: np.random.randn(N, D),&#xA;        y: np.random.randn(N, D),&#xA;        z: np.random.randn(N, D),&#xA;    }&#xA;    out = sess.run([c, grad_x, grad_y, grad_z],&#xA;                   feed_dict=values)&#xA;    c_val, grad_x_val, grad_y_val, grad_z_val = out&#xA;elapsed = time.time() - start_time&#xA;print(time.strftime(&amp;#34;%H:%M:%S&amp;#34;, time.gmtime(elapsed)))&#xA;print(&amp;#34;exit 0&amp;#34;)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;将其存为 test_gpu_for_tensorflow.py  ， 使用 &lt;code&gt;python3 test_gpu_for_tensorflow.py &lt;/code&gt; 执行结果如下：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Certificate Signed by Unknown Authority Error</title>
      <link>https://Jermine.vdo.pub/docker/certificate-signed-by-unknown-authority-error/</link>
      <pubDate>Sat, 13 May 2017 16:21:51 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/certificate-signed-by-unknown-authority-error/</guid>
      <description>&lt;h2 id=&#34;certificate-signed-by-unknown-authority-error&#34;&gt;Certificate signed by unknown authority error&lt;/h2&gt;&#xA;&lt;p&gt;x509: certificate signed by unknown authority&#xA;This error message means that you do not have a trusted certificate. You need to trust the default certificates generated during your Docker Trusted Registry (DTR) installation.&lt;/p&gt;&#xA;&lt;p&gt;You can do so by running these commands on the nodes from where you want to access your DTR (be sure to replace &lt;my-dtr-domain&gt; with your DTR Domain name.):&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;CentOS/RHEL&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;export DOMAIN_NAME=hub.fi.vdo.pub&#xA;export TCP_PORT=443&#xA;openssl s_client -connect $DOMAIN_NAME:$TCP_PORT -showcerts &amp;lt;/dev/null 2&amp;gt;/dev/null | openssl x509 -outform PEM | sudo tee /etc/pki/ca-trust/source/anchors/$DOMAIN_NAME.crt&#xA;update-ca-trust&#xA;systemctl restart docker.service&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Ubuntu&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>GDB in Docker for Debug - 如何在Docker容器内部使用gdb进行debug</title>
      <link>https://Jermine.vdo.pub/docker/gdb-in-docker-for-debug/</link>
      <pubDate>Wed, 08 Mar 2017 10:02:33 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/gdb-in-docker-for-debug/</guid>
      <description>&lt;p&gt;安全计算模式（secure computing mode，seccomp）是 Linux 内核功能，可以使用它来限制容器内可用的操作。&lt;/p&gt;&#xA;&lt;p&gt;Docker 的默认 seccomp 配置文件是一个白名单，它指定了允许的调用。&lt;/p&gt;</description>
    </item>
    <item>
      <title>在docker中搭建Samba服务器</title>
      <link>https://Jermine.vdo.pub/docker/docker-samba/</link>
      <pubDate>Sun, 20 Mar 2016 12:13:19 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/docker-samba/</guid>
      <description>&lt;h2 id=&#34;在docker中搭建samba服务器&#34;&gt;在docker中搭建Samba服务器&lt;/h2&gt;&#xA;&lt;p&gt;要是想把容器的权限与宿主主机的用户权限一致的话，则只需要把用户和组文件映射到容器里面即可：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;docker run --restart=always -d --name samba -p 139:139 -p 445:445 -v /data/samba_server:/share -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro dperson/samba -s &amp;#34;lnh;/share/;yes;no;no;all;none&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果只是设置账户直接访问可以直接run：&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
