前序
什麼是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]