博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
教你打包自己的专属docker镜像
阅读量:6585 次
发布时间:2019-06-24

本文共 1559 字,大约阅读时间需要 5 分钟。

前序

什么是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

     本文转自yangxuncai110 51CTO博客,原文链接:http://blog.51cto.com/zlyang/1936663,如需转载请自行联系原作者
你可能感兴趣的文章
怎样防止应用因获取IDFA被AppStore拒绝
查看>>
c#用webkit内核支持html5
查看>>
Java -- POI -- 入门使用以及简单介绍
查看>>
jQuery中的append()和prepend(),after()和before()的差别
查看>>
Android 离线缓存的高速实现
查看>>
游戏开发者须要看的书籍
查看>>
html5中audio的详细使用
查看>>
几个排序算法的简单实现-C语言
查看>>
合并石子大总结
查看>>
RPi Desktop盒子安装与服务配置
查看>>
checkbox的name与JavaBean的交互时发现的一个现象
查看>>
基于Token的身份验证——JWT(转)
查看>>
Android java处理保留小数点后几位
查看>>
一种简单粗暴的数据层网络缓存
查看>>
Maven(五)之Maven配置阿里云镜像飞快下jar包
查看>>
Mysql加锁过程详解(5)-innodb 多版本并发控制原理详解
查看>>
JS高级 - 面向对象2(prototype定义)
查看>>
新概念英语(1-95)Tickets,please!
查看>>
script 里写 html 模版
查看>>
ceshi
查看>>