docker有个dockerfile 是什么东西,为什么我们要用他?
简单的说: 以前docker run创建一个docker容器,有时候会附带不少的参数。
比如:
docker run -d -p 22 -p 8080:8080 ruifengyun/ubunt-redis "redis-server redis.conf && /usr/sbin/sshd -D"
会发现很是麻烦。 这个时候可以创建编辑一个dockerfile文件,生成新的image,然后从这个新的镜像创建容器,容器里面相关联的启动项和端口,目录都是提前定义好的。
原文: http://it.taocms.org/08/4322.htm
cat Dockerfile
配置redisFROM ubuntu
MAINTAINER ruifengyun "ruifengyun@qq.com"
ADD ./start.sh /root/start.sh
RUN apt-get update
RUN apt-get install -y redis-server
RUN apt-get install -y openssh-server
CMD ["redis-server","/etc/redis/redis.conf"]
EXPOSE 6379
EXPOSE 22
FROM 是作为镜像的基础
RUN 可以理解为在FROM下来的镜像做一些环境的部署。
CMD 是创建容器后,会运行的命令
EXPOSE 是暴露的端口
MAINTAINER 通知的邮件
ADD 相当于把主机的start.sh脚本传递给了容器里面。
VOLUME 是本地的路径的映射
WORKDIR 是执行的路径,也就是cmd entrypoint执行的路径。
共同学习,写下你的评论
评论加载中...
作者其他优质文章