前序
什么是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 "DBA_Master@163.com"
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就可以了。
如有任何问题可以联系:DBA_Master@163.com