AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
[TOC] # 编写测试Pod 为了方便之后的各种测试,现在使用dockerfile方式构建一个测试用的web镜像,并上传到阿里镜像服务中。 ##### dockerfile: ~~~ #vim ~/dockerfile FROM centos # 使用centos的基础镜像 RUN echo "nameserver 114.114.114.114" > /etc/resolv.conf # 给容器添加一个114的DBS,用于安装httpd RUN yum install httpd -y # 安装httpd ENTRYPOINT /usr/sbin/init # 用这个命令解决容器运行时,不能使用systemctl命令的问题 RUN systemctl enable httpd # 开启 httpd 自启 RUN echo "hello" > /var/www/html/index.html # 往 index.html写入内容 RUN echo "ServerName localhost:80" >> /etc/httpd/conf/httpd.conf # 修改httpd配置文件 EXPOSE 80 # 声明开启80端口 ENTRYPOINT /usr/sbin/httpd -DFOREGROUND # 开机姿容运行httpd守护程序,没有守护程序容器执行完毕会马上退出 ~~~ * 其中使用到的知识点 |命令|说明| |---|---| |FROM|选择需要使用的系统镜像版本| |RUN|在构建的时候运行命令,每使用依次RUN,就会多一层镜像层| |CMD(和RUN对比说明)|不是在构建的时候执行,而是在启动容器的时候默认执行的命令,如果在docker run的时候,命令中有附加命令,那么CMD中的命令会被覆盖| |ENTRYPOINT(和RUN对比说明)|这个也是在容器启动的时候运行,但是它并不会被docker run的命令给覆盖掉,依旧会执行| |EXPOSE|声明开启一个端口,但其实并没有实际开启,只有在docker run时候,附加了端口映射选项的时候,才会实际打开端口,如果启动容器是选择随即端口的话,这个随机端口总是会被映射到EXPOSE声明的端口上| ##### 构建docker镜像 ~~~ docker build -f dockerfile --network host -t http:v1 . # -f 指明dockerfile文件 # -t 指明镜像的标签 # 一定要加上 --network host 选项,要不然不能联网下载东西 # 最后一个 “ . ” 表名在当前目录下编译构建 ~~~ ![](https://img.kancloud.cn/8a/d5/8ad504f47a8bda344a751308d005b37d_580x288.png) 构建完成 ![](https://img.kancloud.cn/de/cc/decc55893f365784dc71e6114fd4d852_381x393.png) ##### 上传镜像到阿里 ![](https://img.kancloud.cn/a0/da/a0da2a37ccdc25800faa95ae8e2e24b1_703x259.png) ##### [](http://k8s.zhouwh.com/k8s_HA%E9%83%A8%E7%BD%B2%E5%8F%8A%E5%BA%94%E7%94%A8/2.1/9.html#%E6%8B%89%E5%8F%96%E9%95%9C%E5%83%8F)[](http://k8s.zhouwh.com/k8s_HA%E9%83%A8%E7%BD%B2%E5%8F%8A%E5%BA%94%E7%94%A8/2.1/9.html#%E6%8B%89%E5%8F%96%E9%95%9C%E5%83%8F)拉取镜像 docker pull registry.cn-shenzhen.aliyuncs.com/zwh-kubea/http:\[镜像版本号\]