教你打包自己的專屬docker鏡像


前序

什麼是docker?

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。

具體關於Docker更多的介紹請自行網上查閱


一、Docker環境的搭建

Docker基於Linux系統爲基礎的,所以我們先要準備一臺Linux系統,這裏以CentOS6.8爲例

1、檢查系統是否可以上網

# ping www.baidu.com

2、安裝epel的軟件倉庫

# yum -y install epel-release

3、檢查device-mapper的驅動

# ls /sys/class/misc/device-mapper/

dev  power  subsystem  uevent

*如果爲空,執行以下命令

# yum -y install device-mapper

4、安裝docker系統環境

# yum -y install docker-io

5、啓動docker服務

# service docker start

6、下載基礎鏡像

# docker pull centos

7、測試基礎鏡像centos是否可用

# docker run -it --name='test' centos


二、創建自己的定製鏡像

序:這裏以定製nginx應用爲例,以下是具體操作

Docker創建鏡像有兩種方法:

1、使用docker commit命令

2、使用docker build命令

推薦使用docker build方法來構建自己的鏡像,具體原因請自行查閱;以下操作方法都以docker build的方法來示範


1、首先創建一個基目錄(也就是創建一個文件夾,把創建鏡像用到的所有文件都放在這裏)

# mkdir -p /tmp/nginx

# cd /tmp/nginx

# touch Dockfile


2、編寫dockerfile文件

# vim Dockerfile

# Author:Zlyang by 2017-06-12

FROM centos

MAINTAINER Zlyang "[email protected]"

ENV REFRESHED_AT 2017-06-12

RUN yum -y install nginx

RUN yum -y install vim net-tools wget openssh-*

RUN echo '<h1> Hello Nginx <h1>' >> /usr/share/nginx/html

EXPOSE 80


3、使用docker build構建

# docker build -t='zlyang/nginx' .

注:-t="CNAME" 爲新構建的鏡像起個別名

. 千萬別忘了這個點,指的是當前目錄(此項爲Dockerfile的路徑)


4、創建完成後查看

# docker images 


三、把鏡像保存到本地

# docker save -o centos_nginx.tar zlyang/nginx

注:centos_nginx.tar爲保存到本地後的包名

   zlyang/nginx 爲被打包的對象鏡像


到此,鏡像就都打包完成了,如果在一臺新機器還原docker鏡像,只需要使用:docker load --input centos_nginx.tar就可以了。


如有任何問題可以聯繫:[email protected]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章