<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[programer_bei的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/programer_bei</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; programer_bei]]></copyright><item><title><![CDATA[Jenkins pipeline 集成 k8s 弹性slave的 CI/CD]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102677850</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102677850</guid><author>programer_bei</author><pubDate>Tue, 22 Oct 2019 13:44:39 +0800</pubDate><description><![CDATA[文章目录前言环境配置Global Tool Configuration（全局工具配置）配置Pod Template创建Pipeline，并使用SCMPipeline script编写
前言
参考此教程时，需要提前准备好或了解以下内容：

准备好k8s集群，请参考《使用kubeadm搭建(kubernetes)k8s集群》
准备好Jenkins与k8s的集成，请参考《Jenkins 集成k8s 运行...]]></description><category></category></item><item><title><![CDATA[使用 Jenkins Pipeline实现持续集成与交付（CI/CD）]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102672685</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102672685</guid><author>programer_bei</author><pubDate>Mon, 21 Oct 2019 22:32:20 +0800</pubDate><description><![CDATA[文章目录前言环境配置在Jenkins的服务器上安装好jdk在Jenkins的服务器上安装好maven在Jenkins的服务器上安装好dockerGlobal Tool Configuration（全局工具配置）配置pod template（kubectl）Jenkins 创建Pipeline编写Pipeline Script
前言
参考此教程时，需要提前准备好或了解以下内容：

准备好k8s集群，...]]></description><category></category></item><item><title><![CDATA[Dockerfile详细解析(十一)——ADD]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102640000</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102640000</guid><author>programer_bei</author><pubDate>Sat, 19 Oct 2019 16:29:44 +0800</pubDate><description><![CDATA[ADD
ADD 有两种形式：

ADD [--chown=&lt;user&gt;:&lt;group&gt;] &lt;src&gt;... &lt;dest&gt;
ADD [--chown=&lt;user&gt;:&lt;group&gt;] ["&lt;src&gt;",... "&lt;dest&gt;"]（地址包含空格的情况是需要用到这种形式）


注意：--chown 特性只有在D...]]></description><category></category></item><item><title><![CDATA[在k8s上部署Springboot]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102596221</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102596221</guid><author>programer_bei</author><pubDate>Thu, 17 Oct 2019 15:26:36 +0800</pubDate><description><![CDATA[文章目录前言创建ReplicationController（RC）创建RC yaml文件使用kubectl根据yaml创建RC创建Service用户访问创建SVC yaml文件使用kubectl根据yaml创建Service访问Springboot项目的接口
前言
在教程开始前，大家需要先搭建好k8s集群、Harbor私有仓库和构建自己的Springboot镜像，可以参考以下文章：
使用kubea...]]></description><category></category></item><item><title><![CDATA[Dockerfile构建springboot Image]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102557130</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102557130</guid><author>programer_bei</author><pubDate>Tue, 15 Oct 2019 16:31:55 +0800</pubDate><description><![CDATA[编译springboot项目

大家可以使用git pull 我准备好springboot demo项目下：git pull https://github.com/wenshangbei/Jenkins_demo.git


使用maven打包好项目mvn package



编写Dockerfile
使用Docker构建Image

...]]></description><category></category></item><item><title><![CDATA[linux下的stdin,stdout和stderr理解]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102496922</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102496922</guid><author>programer_bei</author><pubDate>Fri, 11 Oct 2019 10:52:54 +0800</pubDate><description><![CDATA[文章目录标准输入（standard input）标准输出（standard out）标准错误输出（standard error）总结
在linux中经常会看到stdin，stdout和stderr，这3个可以称为终端（Terminal）的标准输入（standard input），标准输出（ standard out）和标准错误输出（standard error）。
通过man stdin查看手册，...]]></description><category></category></item><item><title><![CDATA[UID和GID]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102490074</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102490074</guid><author>programer_bei</author><pubDate>Thu, 10 Oct 2019 20:29:31 +0800</pubDate><description><![CDATA[UID(User Identify)：用户ID, 用来标识每个用户的唯一标示符
GID(Group Identify)：组ID, 用来标识用户组的唯一标识符
用户分类
centos6
超级用户 UID=0 root
普通用户 UID=500起 oldboy
虚拟用户 UID=1-499 存在满足文件或者服务启动的需要。一般不需要登录;（傀儡）
centos7
超级用户 UID=0 root
普通用...]]></description><category></category></item><item><title><![CDATA[Dockerfile详细解析(十)——ENV]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102413495</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102413495</guid><author>programer_bei</author><pubDate>Tue, 08 Oct 2019 21:36:30 +0800</pubDate><description><![CDATA[ENV
ENV &lt;key&gt; &lt;value&gt;
ENV &lt;key&gt;=&lt;value&gt; ...

ENV指令设置环境变量&lt;key&gt;到值 &lt;value&gt;。这个值会在环境中给后续的所有构建阶段的指令使用和也可以被后面内联替换。
ENV指令有2种形式。第一种形式，ENV&lt;key&gt;&lt;value&gt;, 将会设置一个单独的变...]]></description><category></category></item><item><title><![CDATA[Dockerfile详细解析(九)——EXPOSE]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102406064</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102406064</guid><author>programer_bei</author><pubDate>Tue, 08 Oct 2019 19:24:09 +0800</pubDate><description><![CDATA[EXPOSE
EXPOSE &lt;port&gt; [&lt;port&gt;/&lt;protocol&gt;...]

EXPOSE 指令通知Docker容器在运行的时候监听指定的网络端口。你可以指定端口监听TCP还是UDP，如果不是特殊的协议，默认都是TCP。
EXPOSE 指令实际上不会发布端口。它起着构建镜像和运行镜像的人之间的文档功能，告诉他们哪个端口将被发布。实际发布端口在运行容器...]]></description><category></category></item><item><title><![CDATA[Dockerfile详细解析(八)——LABEL]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102402975</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102402975</guid><author>programer_bei</author><pubDate>Tue, 08 Oct 2019 18:38:35 +0800</pubDate><description><![CDATA[LABEL
LABEL &lt;key&gt;=&lt;value&gt; &lt;key&gt;=&lt;value&gt; &lt;key&gt;=&lt;value&gt; ...

LABEL 指令会添加元数据到镜像。LABEL是以键值对形式出现的。为了在LABEL的值里面可以包含空格，你可以在命令行解析中使用引号和反斜杠。一些使用方法如下：
LABEL "com.example.vend...]]></description><category></category></item><item><title><![CDATA[Dockerfile详细解析(七)——CMD]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102329418</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102329418</guid><author>programer_bei</author><pubDate>Mon, 07 Oct 2019 21:40:38 +0800</pubDate><description><![CDATA[CMD
CMD 指令有三种形式：

CMD ["executable","param1","param2"](exec 形式，这个是推荐的形式)
CMD ["param1","param2"](在ENTRYPOINT作为默认参数)
CMD command param1 param2 (shell 形式)

在Dockerfile中只能有一个 CMD 指令。如果你列出超过一个CMD，那么只有最后一个...]]></description><category></category></item><item><title><![CDATA[Dockerfile详细解析(六)——RUN]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102328908</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102328908</guid><author>programer_bei</author><pubDate>Mon, 07 Oct 2019 21:16:19 +0800</pubDate><description><![CDATA[RUN
RUN 有2种形式：

RUN &lt;command&gt;(shell窗口，命令是可以在shell里面运行，默认是使用 /bin/sh -c 在Linux 或 cmd /s /c 在 Windows)
RUN ["executable", "param1", "param2"](exec form)
RUN 指令会在当前镜像之上的新层执行一些命令和提交结果。生成提交的镜像将会被用于Do...]]></description><category></category></item><item><title><![CDATA[Dockerfile详细解析(五)——FROM]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102328449</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102328449</guid><author>programer_bei</author><pubDate>Mon, 07 Oct 2019 21:14:23 +0800</pubDate><description><![CDATA[FROM
FROM &lt;image&gt; [AS &lt;name&gt;]

或者
FROM &lt;image&gt;[:&lt;tag&gt;] [AS &lt;name&gt;]

或者
FROM &lt;image&gt;[@&lt;digest&gt;] [AS &lt;name&gt;]

FROM 指令初始化一个新的构建阶段以及设置基础镜像到随后的指令。因此，一个合法的 Do...]]></description><category></category></item><item><title><![CDATA[Dockerfile详细解析(四)——环境变量]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102328362</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102328362</guid><author>programer_bei</author><pubDate>Mon, 07 Oct 2019 21:08:35 +0800</pubDate><description><![CDATA[环境变量（Environment replacement）
环境变量（使用 ENV 表达式声明）也可以被用在某些确定的指令中作为变量被Dockerfile解释出来。Escapes 也被处理为类似变量的符号直接包含到表达式语句中。
环境变量在都Dockerfile中既可以用 $variable_name也可以用 ${variable_name}的形式。它们的作用是一样的和大括号一般用于处理没有空格的...]]></description><category></category></item><item><title><![CDATA[Dockerfile详细解析(三)——解析器指令]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102328097</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102328097</guid><author>programer_bei</author><pubDate>Mon, 07 Oct 2019 21:02:26 +0800</pubDate><description><![CDATA[解析器指令（Parser directives）
解析器指令是可选的，并影响对Dockerfile中后续行的处理方式。解析器指令不会增加层到构建，也不会展示在构建步骤。解析器指令是一种以特殊形式的注释编写的 # directive=value。一个指令只可以用一次。
一旦一个注释，空的行和构建指令被执行，Docker 不再查找解析器指令，相反docker把任何格式作为一个解析器指令的内容当作注释而...]]></description><category></category></item><item><title><![CDATA[Dockerfile详细解析(二)——格式]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102327890</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102327890</guid><author>programer_bei</author><pubDate>Mon, 07 Oct 2019 20:57:58 +0800</pubDate><description><![CDATA[格式
这里是Dockerfile的格式介绍：
# Comment
INSTRUCTION arguments

指令是不区分大小写的。然而，通常我们的指令使用大写，是为了更容易跟参数作区分。
Docker按顺序在Dockerfile中运行指令。Dockerfile 必须 以 “FROM” 指令开头。FROM指令会在构建的时候指定基镜像，FROM可以只是放在一个或多个的 ARG指令前面，在Docke...]]></description><category></category></item><item><title><![CDATA[Dockerfile详细解析(一)——使用方法]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/102327706</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/102327706</guid><author>programer_bei</author><pubDate>Mon, 07 Oct 2019 20:51:46 +0800</pubDate><description><![CDATA[Dockerfile参考指南
Docker 以通过读取Dockerfile里面的命令来自动构建镜像。Dockerfile 是一个包含了用户构建一个镜像的所有命令的文本文档。用户们可以使用 docker build 顺序执行一些列的命令行来自动构建镜像。
这篇博客主要是叙述在Dockerfile使用到的命令。当你完成了这篇博客的阅读，可以参考 Dockerfile 最佳实践指南提示。
使用方法
do...]]></description><category></category></item><item><title><![CDATA[解决Error response from daemon: ... connect: connection refused 问题]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/101462821</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/101462821</guid><author>programer_bei</author><pubDate>Thu, 26 Sep 2019 19:04:23 +0800</pubDate><description><![CDATA[解决Error response from daemon: … connect: connection refused 问题
这个问题，基本安装Harbor后大家都会遇到。
解决方法：
在/etc/docker/daemon.json
在需要登陆的docker加入以下配置，ip为harbor的地址
"insecure-registries": [ "192.168.108.141"]

如下图：
...]]></description><category></category></item><item><title><![CDATA[Harbor 安装]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/101368082</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/101368082</guid><author>programer_bei</author><pubDate>Wed, 25 Sep 2019 17:26:40 +0800</pubDate><description><![CDATA[Harbor 安装
前言
Harbor 是一个开源的云原生镜像仓库，用于储存，标记和扫描容器镜像漏洞。
Harbor 通过交付信任，友好，性能和互用性解决了大部分挑战。它为某些不能使用公共的和基于云的机构或者应用以及想要一个一致性体验云平台填补了空缺。
本次的文章主要是介绍Harbor v1.8.0 的安装
前提准备
需要安装docker，docker-compose（1.18.0+）
安装步骤
...]]></description><category></category></item><item><title><![CDATA[Jenkins 集成k8s 运行Jenkins slave（Jenkins 弹性slave）]]></title><link>https://blog.youkuaiyun.com/programer_bei/article/details/101289835</link><guid>https://blog.youkuaiyun.com/programer_bei/article/details/101289835</guid><author>programer_bei</author><pubDate>Tue, 24 Sep 2019 23:09:06 +0800</pubDate><description><![CDATA[1. 设置JNLP访问协议
打开Jenkins/Configure Global Security,
找到Agents,如下图，设置Port 为 Random，Agent protocols选Inbound TCP Agent Protocol/4 (TLS encryption)，保存

2. 安装kubernetes plugins
打开Jenkins/Plugin Manager
搜索kub...]]></description><category></category></item></channel></rss>