前言
创新互联是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信小程序,10多年建站对VR全景等多个行业,拥有多年的网站营销经验。现在我所在的公司使用的操作系统都是centos7.4版本的, 当然应用也是部署在centos上面, 那么如果使用docker部署的话, 也自然而然的想到基于centos镜像来构建自己的应用镜像; 但是centos基础镜像与应用镜像之间也可以构建一下基础框架的镜像, 比如: 基础JDK镜像, 基于Python环境镜像等等; 相信大家也遇到过, 构建了一个镜像发现部署应用的时候打印出来的中文是乱码, 日志的时间显示的是UTC时间, 比北京时间少了8个小时, 想看某一个进程是否起来的时候发现telnet命令 ps命令 netstat命令不可用, 想要编辑文件的时候发现vim命令也不能用; 今天我们就来看一下如何基于centos镜像构建一个增强版的centos镜像;
镜像仓库的搭建
在构建自己的镜像之前, 需要有一个地方能够存放我们的镜像便于我们后面使用直接拿来可以用; 大概有两种思路: 第一种、在自己的机器上构建, 然后通过命令 docker save -o xxx.tar.gz xxx-image:v1.0
, 然后上传到自己的云盘上, 使用的时候下载到本地, 然后 docker load -i xxx.tar.gz
; 这种方式是没问题的, 但是就是比较繁琐(打包,上传下载,load的时候还要找到目录神马的); 第二种、创建自己的一个docker image registry, 对于本地构建的镜像 只需要重新 tag一下, docker push即可完成;下载的时候只需要docker pull就可以了, 全部都可以在命令行上面搞定, 想想都有一种裤裤的感觉;
说了这么多, 让我们一起看一下如何搭建一个自己的镜像仓库;(本文中仅仅使用了阿里云的仓库, 建了自己的namespace而已),当然也可以自己申请云主机, 然后搭建游戏都是没有问题的;
首先登录阿里云, 然后从服务中找到容器镜像服务所在的位置, 如下图所示:
点击容器镜像服务进入到镜像仓库创建界面如下图
点击创建, 进入到创建仓库界面
填写完信息之后, 点击下一步选择如何上传镜像
因为我的需求就是从本地仓库构建, 不过我认为本地仓库构建是最灵活的一种方式;
创建好镜像存储的位置之后, 就可以在本地创建Dockerfile来构建自己的镜像了;
构建centos增强版镜像
1、首先, 创建Dockerfile文件, 将如下内容放入文件中
FROM centos MAINTAINER terry.king "1575639478@qq.com" # 定义时区参数 ENV TZ=Asia/Shanghai RUN ls -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone # 设置编码 RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 ENV LC_ALL "zh_CN.UTF-8" # 安装基础yum包 RUN yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel patch net-tools iproute telnet bind-utils wget kde-l10n-Chinese glibc-common
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。