前言
成都創(chuàng)新互聯(lián)公司長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為新和企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,新和網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
現(xiàn)在我所在的公司使用的操作系統(tǒng)都是centos7.4版本的, 當(dāng)然應(yīng)用也是部署在centos上面, 那么如果使用docker部署的話, 也自然而然的想到基于centos鏡像來構(gòu)建自己的應(yīng)用鏡像; 但是centos基礎(chǔ)鏡像與應(yīng)用鏡像之間也可以構(gòu)建一下基礎(chǔ)框架的鏡像, 比如: 基礎(chǔ)JDK鏡像, 基于Python環(huán)境鏡像等等; 相信大家也遇到過, 構(gòu)建了一個(gè)鏡像發(fā)現(xiàn)部署應(yīng)用的時(shí)候打印出來的中文是亂碼, 日志的時(shí)間顯示的是UTC時(shí)間, 比北京時(shí)間少了8個(gè)小時(shí), 想看某一個(gè)進(jìn)程是否起來的時(shí)候發(fā)現(xiàn)telnet命令 ps命令 netstat命令不可用, 想要編輯文件的時(shí)候發(fā)現(xiàn)vim命令也不能用; 今天我們就來看一下如何基于centos鏡像構(gòu)建一個(gè)增強(qiáng)版的centos鏡像;
鏡像倉庫的搭建
在構(gòu)建自己的鏡像之前, 需要有一個(gè)地方能夠存放我們的鏡像便于我們后面使用直接拿來可以用; 大概有兩種思路: 第一種、在自己的機(jī)器上構(gòu)建, 然后通過命令 docker save -o xxx.tar.gz xxx-image:v1.0 , 然后上傳到自己的云盤上, 使用的時(shí)候下載到本地, 然后 docker load -i xxx.tar.gz ; 這種方式是沒問題的, 但是就是比較繁瑣(打包,上傳下載,load的時(shí)候還要找到目錄神馬的); 第二種、創(chuàng)建自己的一個(gè)docker image registry, 對于本地構(gòu)建的鏡像 只需要重新 tag一下, docker push即可完成;下載的時(shí)候只需要docker pull就可以了, 全部都可以在命令行上面搞定, 想想都有一種褲褲的感覺;
說了這么多, 讓我們一起看一下如何搭建一個(gè)自己的鏡像倉庫;(本文中僅僅使用了阿里云的倉庫, 建了自己的namespace而已),當(dāng)然也可以自己申請云主機(jī), 然后搭建服都是沒有問題的;
首先登錄阿里云, 然后從服務(wù)中找到容器鏡像服務(wù)所在的位置, 如下圖所示:

點(diǎn)擊容器鏡像服務(wù)進(jìn)入到鏡像倉庫創(chuàng)建界面如下圖

點(diǎn)擊創(chuàng)建, 進(jìn)入到創(chuàng)建倉庫界面
.png)
填寫完信息之后, 點(diǎn)擊下一步選擇如何上傳鏡像
.png)
因?yàn)槲业男枨缶褪菑谋镜貍}庫構(gòu)建, 不過我認(rèn)為本地倉庫構(gòu)建是最靈活的一種方式;
創(chuàng)建好鏡像存儲(chǔ)的位置之后, 就可以在本地創(chuàng)建Dockerfile來構(gòu)建自己的鏡像了;
構(gòu)建centos增強(qiáng)版鏡像
1、首先, 創(chuàng)建Dockerfile文件, 將如下內(nèi)容放入文件中
FROM centos MAINTAINER terry.king "1575639478@qq.com" # 定義時(shí)區(qū)參數(shù) ENV TZ=Asia/Shanghai RUN ls -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone # 設(shè)置編碼 RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 ENV LC_ALL "zh_CN.UTF-8" # 安裝基礎(chǔ)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
2、登錄阿里云Docker Registry
sudo docker login --username=你的阿里云賬號(hào) registry.cn-shenzhen.aliyuncs.com
用于登錄的用戶名為阿里云賬號(hào)全名,密碼為開通服務(wù)時(shí)設(shè)置的密碼。
您可以在產(chǎn)品控制臺(tái)首頁修改登錄密碼。就是第二張創(chuàng)建鏡像倉庫按鈕的左邊設(shè)置registry登錄密碼
3、構(gòu)建鏡像并將鏡像推送到Registry
$ docker build -t terrylmay/centos . $ docker tag terrylmay/centos registry.cn-shenzhen.aliyuncs.com/terrylmay/centos:[鏡像版本號(hào)] $ docker push registry.cn-shenzhen.aliyuncs.com/terrylmay/centos:[鏡像版本號(hào)]
默認(rèn)的鏡像版本號(hào)為latest
總結(jié)
這樣在構(gòu)建應(yīng)用鏡像的時(shí)候就可以解決序言中提到的一系列問題了. 方便自己快速構(gòu)建自己的應(yīng)用鏡像;
網(wǎng)站標(biāo)題:制作centos基礎(chǔ)鏡像的方法
分享地址:http://www.chinadenli.net/article34/ihosse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站維護(hù)、響應(yīng)式網(wǎng)站、網(wǎng)站內(nèi)鏈、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)