前言
在简单学习了Docker的相关知识之后,我发现在使用images 创建容器时,有一些images满足不了我们的使用需求,这个时候我们就要在一些镜像的基础上,对镜像做一些内容的修改,来达到我们想要的效果或者功能,这个时候常规的创建容器的方法 docker run -ti images /bin/bash
就不太合适了,那么此时我们选择自己编写一个DockerFile,在原有镜像的基础上对它进行功能的补充。
Dockerfile编写
首先一个Dockerfile就是我们的要制作镜像的内容,它应该包含这些内容:我们要基于哪一个镜像来对它做功能增加、一个镜像制作者的信息、基于这个镜像要执行哪些内容、一些注释、user信息等,现在我们来看一个官方文档中Dockerfile 的实例
# Memcached
#
# VERSION 2.2
# 使用基础的Ubuntu镜像,tag为latest
FROM ubuntu
#创建者信息
MAINTAINER Victor Coisne victor.coisne@dotcloud.com
# 确认能找到Ubuntu这个镜像
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list
#完成之后对Ubuntu进行更新
RUN apt-get update
# 安装 memcached
RUN apt-get install -y memcached
#指定机器的运行者
ENTRYPOINT ["memcached"]
USER deamon
#暴露端口以便容器外部能发现并建立连接
EXPOSE 11010
接下来我们来看一下各个语句的语法:
FROM ubuntu:tag
FROM :之后是images名:tag ;如果不加tag,则默认为latest;
MAINTAINER #后边是创建者信息
RUN命令后可写对于镜像的一些操作,比如安装软件,安装源等。