MyException - 我的异常网
当前位置:我的异常网» 操作系统 » 记要使用Dockerfile创建docker镜像的操作

记要使用Dockerfile创建docker镜像的操作

www.MyException.Cn  网友分享于:2013-09-07  浏览:0次
记录使用Dockerfile创建docker镜像的操作
基于 centos6.8 版本
更新 yum
安装必要的 lib 库
安装 redis 并增加密码
从外部复制 Apache、Tomcat、Jre
配置 JAVA_HOME 环境变量


安装docker步骤略(yum install docker-io或者sudo apt-get install docker-io)
基于 centos6.8 就需要下载 6.8 的基础镜像
引用
docker pull centos:6.8


创建一个Dockerfile文件
FROM centos:6.8

#更新和安装软件源
RUN yum -y install epel-release
#这里开始都是redis依赖的库
RUN yum -y update libblkid libuuid plymouth-core-libs
RUN yum -y install dbus-glib hwdata initscripts iproute iptables iputils libdrm libpciaccess logrotate plymouth policycoreutils redhat-logos sysvinit-tool udev util-linux-ng jemalloc redis curl openssl lsof
#最后的curl openssl lsof 是我会用的一并安装了(其实curl和openssl是更新)


#修改redis配置(增加访问密码)
RUN sed -i '31i requirepass 1234567' /etc/redis.conf
#可选修改项,默认redis只能本机访问,改为0.0.0.0不限制访问来源
#RUN sed -i 's/^bind 127.0.0.1/bind 0.0.0.0/g' /etc/redis.conf


#复制(与Dockerfile同级有soft的文件夹)
COPY ./soft /soft

#复制文件夹后执行里面的shell
RUN sh /soft/install_tar.sh

#配置java环境变量(我使用的是解压缩方式)
ENV JAVA_HOME /usr/lib/jdk1.7.0_80
ENV JRE_HOME $JAVA_HOME/jre  
ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib  
ENV PATH $PATH:$JAVA_HOME/bin  

#移除使用完的 soft 文件夹
#RUN rm -rf /soft

#默认容器启动会调用tomcat启动服务
CMD /usr/local/tomcat/bin/catalina.sh run  


摘抄 install_tar.sh 文件

#!/bin/bash
#解压缩 jdk、tomcat、apache 到指定路径
tar zxf /soft/jdk.tar.gz -C /usr/lib/
tar zxf /soft/tomcat.tar.gz -C /usr/local/
tar zxf /soft/apache.tar.gz -C /usr/local/

#给tomcat增加权限
chmod a+x /usr/local/tomcat/bin/*
#替换apache默认页面
mv /soft/datashield/index.html /usr/local/apache/htdocs/

#最终将全部配置和文件删除
rm -rf /soft


使用 Dockerfile 制作镜像(注意最后的一个点儿.不要忘了)
docker build -t 镜像的名字 .

-----------------------------------------

查看所有镜像 IMAGES
docker images

查看所有容器 CONTAINER(不加-a只能看到正在运行的容器)
docker ps -a

删除容器
docker rm 容器ID

删除镜像
docker rmi 镜像ID或者REPOSITORY名字

启动镜像(相当于用光盘安装镜像到电脑中)
docker run 镜像ID或者REPOSITORY名字   (运行结束后容器自动进入关闭Exited状态)
docker run -d --name test1 -p 127.0.0.1:10822:22 镜像ID
docker run -it 镜像ID /bin/bash    (启动镜像并进入启动的容器中进行shell操作)

启动停止容器(相当于电脑的开关机)
docker start 容器ID
docker stop 容器ID

参考文章
http://www.cnblogs.com/styshoo/p/6431748.html

文章评论

编程语言是女人
编程语言是女人
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
旅行,写作,编程
旅行,写作,编程
代码女神横空出世
代码女神横空出世
如何成为一名黑客
如何成为一名黑客
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
一个程序员的时间管理
一个程序员的时间管理
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
鲜为人知的编程真相
鲜为人知的编程真相
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
10个调试和排错的小建议
10个调试和排错的小建议
 程序员的样子
程序员的样子
总结2014中国互联网十大段子
总结2014中国互联网十大段子
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
为什么程序员都是夜猫子
为什么程序员都是夜猫子
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
中美印日四国程序员比较
中美印日四国程序员比较
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
程序员必看的十大电影
程序员必看的十大电影
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
Java程序员必看电影
Java程序员必看电影
程序员的鄙视链
程序员的鄙视链
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
我是如何打败拖延症的
我是如何打败拖延症的
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员和编码员之间的区别
程序员和编码员之间的区别
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序员都该阅读的书
程序员都该阅读的书
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
程序员应该关注的一些事儿
程序员应该关注的一些事儿
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
每天工作4小时的程序员
每天工作4小时的程序员
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
老程序员的下场
老程序员的下场
那些争议最大的编程观点
那些争议最大的编程观点
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
我的丈夫是个程序员
我的丈夫是个程序员
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有