是时候Docker: 4 Dockerfile建立镜像容器

Dockerfile建立镜像

原文再续,就书接上一回。今天咱们说说使用Dockerfile建立镜像容器html

目录

Dockerfile实例

FROM alpine:latest
MAINTAINER sbf
CMD echo 'hello docker'
复制代码

说明

FROM baseimage
MAINTAINER 共享是告诉其余人,是谁写的
CMD 运行命令
复制代码

实际操做

touch Dockerfile
vim Dockerfile

docker build -t hello_docker .      // -t 构建image名  . 当前目录下全部内容都提交给docker产生image
docker images hello_docker          // 查看image 是否生成
docker run hello_docker             // 运行image, 输出内容 hello docker
复制代码

复杂一点的实例

FROM ubuntu
MAINTAINER xbf
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y nginx
COPY index.html /var/www/html
ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]
EXPOSE 80
复制代码
docker build -t test_docker .
docker run -d -p 8080:80 test_docker
复制代码

镜像分层

Dockerfile的每一行都会产生一个分层且只读,好比 nginx

当镜像运行时会产生 container layer可读可写的新层来保证容器是能够修改。分层的好处在于,相同分层合并有利减低存储

Dockerfile语法小结

语法 说明
FROM 基础镜像
RUN 容器内执行命令
CMD 程序入口,像main方法同样
ENTRYPOINT 若是指定,CMD会变为它的arguments
ADD 能够添加远程文件,如ftp文件,比copy强大
COPY 拷贝文件
WORKDIR 工做目录
MAINTAINER 做者
ENV 设置容器内环境变量
USER 执行命令的用户,通常是非root
VOLUME 挂在卷
EXPOSE 暴露端口

更多内容下回分解

原创不易,若是你以为个人文章对你有帮助,请点赞鼓励

相关文章
相关标签/搜索